我有兩個表如下:SQL結合表
表1:
f1 f2
1 2
3 4
5 6
7 8
表2:
f1 f3 f4
1 R 20
1 m 10
1 m 30
3 m 5
5 R 20
所以現在我需要像表:
f1 f2 SUM(f4 where f3=m)
1 2 40
3 4 5
5 6 null
7 8 null
換句話說,如果f1存在於table2中,並且f3 ='m',那麼g等它的總和,否則只是從表1中選擇所有的數據。
我嘗試以下代碼:
SELECT T1.* , T2.SUM(f4)
FROM Table1 AS T1
LEFT OUTER JOIN Table2 AS T2 ON T1.f1 = T2.f1
WHERE T2.f3='m'
此僅示出了一個存在於表2和,如果我做:
SELECT T1.* , T2.SUM(f4)
FROM Table1 AS T1
LEFT OUTER JOIN Table2 AS T2 ON T1.f1 = T2.f1 AND T2.f3='m'
顯示20 F3,5和60爲1.
您確定您的group by子句的語法嗎? –
不,我的不好。好決定。 – Walt