這段 SQL 要怎麼下? |
答題得分者是:pillar62
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
小弟的SQL 語法實在有夠爛,煩請各大大幫忙一下。
有一資料庫如下:
ID QTY TradeDate ------- ---- ----------- A0001 1 2005/05/06 A0001 2 2005/05/04 A0001 8 2005/04/28 A0002 5 2005/05/04 A0002 3 2005/05/03 ........ 查詢後資料必須要這樣:如下 ID QTY TradeDate ------- ---- ----------- A0001 1 2005/05/06 A0002 5 2005/05/04 ........搜索 各別 ID 最後一次交易列表。 然而針對查詢後的結果,必須能直接修改或刪除。 請指教。 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~ |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
select * from table group by id order by id, tradedate;
因為不確定是否會排序排好。所以另外加上 order by id, tradedate 而選出來的東西,自己你可以去利用它來編修。
這要看你怎麼用元件了。
無關SQL語法了。
不然你還是可以利用
UPDATE table SET field1=xxxxx, field2=yyy WHERE fieldx=zzz;
這樣可以把 fieldx 欄位為 zzz 的那一筆中的 field1 內容更改成 xxxxx, field2 內容更改成 yyy(可能不止一筆) 要刪除只要
DELETE FROM table WHERE fieldx=zzz;
這樣就可以把 fieldx 欄位為 zzz 的那筆資料刪除。(可能不止一筆) 另外建議:
在 table 建立時。要有個 auto increment 的 sno 欄位。
這樣在做編修時。比較好下條件。
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
你好
試試看sql語法用
select * from tbl where TradeDate in (select max(TradeDate) from tbl group by id)這樣子應該可以取出 ID 最後一次交易的列表!如果你是用Tquery的話就要搭配 updatesql以及sql屬性裡面的cacheupdate = True, RsquestLive也要設定成True這樣應該就可以達到你的需求!!試試看吧!! Pillar Wang
------
Pillar Wang |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
No-where
一般會員 發表:31 回覆:53 積分:16 註冊:2002-09-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |