MASTER_DETAIL 的 SQL |
答題得分者是:Fishman
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
臨時測不出來,
看哪位熟SQL 的長官提供一下.. 資料內容如下
TABLE1 TABLE2 ID1 ID1 MONEY === === ====== 1 1 10 2 1 30 3 1 50 4 1 70 5 1 90 6 2 20 7 2 40 8 2 60 9 2 80 0 3 0 4 0 5 0 希望 QUERY 出的結果是 ID1 MONEY === ====== 1 250 2 200 3 0 4 0 5 0 6 0 7 0 8 0 9 0 0 0也就是統計每個 ID1 的 MONEY 總和 但在 TABLE2 中 , ID1 沒有 5,6,7,8,9,0 的 ID 發表人 - bruce0211 於 2004/02/25 13:43:42 |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi:
SELECT T.ID1, SUM(T.MONEY) AS MONEY FROM (SELECT T1.ID1, SUM(T2.MONEY) AS MONEY FROM TABLE1 T1, TABLE2 T2 WHERE T1.ID1 = T2.ID1 GROUP BY T1.ID1 UNION ALL SELECT T1.ID1, 0 AS MONEY FROM TABLE1 T1) T GROUP BY T.ID1---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
我在 INTERBASE 上測的 SELECT T.ID1,
SUM(T.MONEY) AS MONEY
FROM (SELECT T1.ID1,
SUM(T2.MONEY) AS MONEY
FROM TABLE1 T1,
TABLE2 T2
WHERE T1.ID1 = T2.ID1
GROUP BY
T1.ID1
UNION ALL
SELECT T1.ID1,
0 AS MONEY
FROM TABLE1 T1) T
GROUP BY
T.ID1 在第三行出現錯誤
不知跟執行 SQL 的平台有無關係 ....
至於 OUTER JOIN , 在 INTERBASE 上好像沒有 OUTER JOIN 語法 ... 上面測試環境的假資料建立如下
create table table1 (id1 INTEGER) insert into table1 values(1) insert into table1 values(2) insert into table1 values(3) insert into table1 values(4) insert into table1 values(5) insert into table1 values(6) insert into table1 values(7) insert into table1 values(8) insert into table1 values(9) insert into table1 values(0) create table table2 (id1 INTEGER, money INTEGER) //ORACLE 用 NUMBER 代替 INTEGER 型態 insert into table2 values(1,10) insert into table2 values(1,30) insert into table2 values(1,50) insert into table2 values(1,70) insert into table2 values(1,90) insert into table2 values(2,20) insert into table2 values(2,40) insert into table2 values(2,60) insert into table2 values(2,80) insert into table2 values(3,0) insert into table2 values(4,0) insert into table2 values(5,0)發表人 - bruce0211 於 2004/02/25 14:09:47 |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |