線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:969
推到 Plurk!
推到 Facebook!

UPDATE 更新兩個資料表

答題得分者是:Fishman
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-16 02:00:23 IP:61.71.xxx.xxx 未訂閱
請問各位! Interbase 的語法上(或其他資料庫亦可)有沒有如下的功能 mydata.gdb A table -> A,B,C,D,E fields (master table) B table -> A,B,D,E,F fields (detail table) 我要把 A.A=B.A 的記錄中的 B.B, B.D, B.E 三個欄位分別以 A.B, A.D, A.E 的值代入, 有沒有可能用 UPDATE的語法來完成, 目前我似乎找到的資料 UDPATE 都只能針對一個TABLE進行, 當然以上用程式來做是可以完成, 我想要的是一句SQL語法, 謝謝!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-16 08:32:32 IP:210.65.xxx.xxx 未訂閱
Hi P.D.,    In Oracle, you can use below command
UPDATE TABELB B SET (B.B,B.D,B.E) = (SELECT A.B,A.D,A.E FROM TABLEA A WHERE A.A = B.A)
WHERE EXISTS (SELECT A.A FROM TABLEA A WHERE A.A = B.A)    或是    UPDATE  TABELB B 
SET     B.B = (SELECT A.B FROM TABLEA A WHERE A.A = B.A),
        B.D = (SELECT A.D FROM TABLEA A WHERE A.A = B.A),
        B.E = (SELECT A.E FROM TABLEA A WHERE A.A = B.A)
WHERE   EXISTS (SELECT A.A FROM TABLEA A  WHERE A.A = B.A)
至於其他的資料庫,請大大參考以下文章看看是否有解 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=66638 發表人 -
------
Fishman
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-16 09:11:20 IP:203.95.xxx.xxx 未訂閱
Hi, 我也來插花, MSSQL: update B set B=A.B, D=A.D, E=A.E from B inner join A on B.A=A.A MS ACCESS: update B inner join A on B.A=A.A set B.B=A.B, B.D=A.D, B.E=A.E 差別在 MSSQL 是針對單 table 下 set 指令後 from join 的結果集, access 則僅能對 join 的結果集下達 set 指令!!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-16 11:54:37 IP:61.71.xxx.xxx 未訂閱
感謝兩位的資料, 我測試過 UPDATE TABELB B SET (B.B,B.D,B.E) = (SELECT A.B,A.D,A.E FROM TABLEA A WHERE A.A = B.A) 這種語法 IB 不接受 UPDATE TABELB B SET B.B = (SELECT A.B FROM TABLEA A WHERE A.A = B.A), B.D = (SELECT A.D FROM TABLEA A WHERE A.A = B.A) 這樣就過了 至於 INNER, LEFT的用法, 在 IB上似乎無法搭配 UPDATE , 因為不管我如何下COMMAND 都發生錯誤 再次感激兩位!
系統時間:2024-06-02 21:13:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!