請教各位先進一個 Update SQL 的問題! |
尚未結案
|
Tomas.Chen
一般會員 發表:5 回覆:6 積分:2 註冊:2003-11-02 發送簡訊給我 |
請教各位先進一個 Update SQL 的問題!... 我有一個Table,欄位如下:
------------------
Sex(性別) 字串欄位 '男' or '女'
Age(年齡) 數字欄位
Money(存款) 數字欄位
------------------
如果我想利用 Update 的方式,將 Sex='男' and Age=20 中(可能會超過一筆)最後一筆資料的 Money(存款)加上 10% (除了最後一筆資料外,其餘符合 Sex='男' and Age=20 條件者不更改),請問SQL 語法要如何下!? 再此先行謝過啦!...
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言: 請教各位先進一個 Update SQL 的問題!... 我有一個Table,欄位如下: ------------------ Sex(性別) 字串欄位 '男' or '女' Age(年齡) 數字欄位 Money(存款) 數字欄位 ------------------ 如果我想利用 Update 的方式,將 Sex='男' and Age=20 中(可能會超過一筆)最後一筆資料的 Money(存款)加上 10% (除了最後一筆資料外,其餘符合 Sex='男' and Age=20 條件者不更改),請問SQL 語法要如何下!? 再此先行謝過啦!...Tomas.Chen 您好 : Update MyTable SET Money=Money*1.1 WHERE Sex='男' and Age=20; PS.如果您資料庫的運算符號不是 * ,那就將其改成資料庫定義的乘法函式即可 ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- |
Tomas.Chen
一般會員 發表:5 回覆:6 積分:2 註冊:2003-11-02 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言:我的疑問跟 timhuang Sir 一樣,怎麼會只更新最後一筆資料?? 怪怪的 不過還是寫一下大概的做法 : 假設您有設 Primary Key (有流水號).. 先用下面的 SQL command 取出最後一筆的 PK_ID SELECT Max(PKField) FROM MyTable WHERE Sex='男' and Age=20; 或是利用 SELECT someUniqeField FROM MyTable WHERE Sex='男' and Age=20; 用 While 與 Query.EOF , Query.Next 搭配便可找到最後一筆的 某個可供唯一識別的欄位.. 最後在之前寫的 SQL 上寫入 :PKField 取出的 PK_ID 或是 someUniqeField 的值.. Update MyTable SET Money=Money*1.1 WHERE Sex='男' and Age=20 and PKField=:PKField; ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ----引言: 但是我的目的只要更新最後一筆,而不是所有符合 Sex='男' and Age=20 的資料(符合條件的資料可能很多筆),該如何下 SQL 語法呢?Hi, 我想是你的 只要更新最後一筆 的條件很怪, 或是說不充份, 在資料庫中的資料是沒有前後順序的, 除非你另外有流水號的欄位, 或是依據產生日期的欄位, 才有可能整理出所謂的 最後一筆 的條件, 是否可以更明確的說明你要更新的條件呢? |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi Tomas.Chen, 我也贊同 timhuang 的看法
以下 SQL Command 為在有 Primary Key 的狀況下所下的
UPDATE MYTABLE SET MONEY = MONEY * 1.1 WHERE SEX = '男' AND AGE = 20 AND PKFIELD = (SELECT MAX(PKFIELD) FROM MYTABLE T WHERE T.SEX = MYTABLE.SEX AND T.AGE = MYTABLE.AGE)---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |