Subquery

SQL - 對不同表中具有相同名稱的列求和

  • February 12, 2018

我有 3 張桌子:


**_tbl1_____
編號 C1 C2
-- -- --
AA 2 3
BB 10 12
抄送 20 22

_tbl2_____
編號 C1 C2
-- -- --
BB 10 12
AA 2 3
抄送 20 22

_tbl3_____
編號 C1 C2
-- -- --
AA 0 0
BB 10 12
HH 55 66**

我想對具有相同名稱的列和具有相同 id 的行求和以獲得如下結果:


查詢結果表
編號 C1 C2
-- -- --
AA 4 6
BB 30 36
抄送 40 44
HH 55 66

謝謝你們的幫助..我真的需要它。

如果它們的順序相同,你可以像這樣輕鬆地做到這一點,

SELECT t.id, sum(c1), sum(c2)
FROM (
 SELECT *
 FROM tbl1
 UNION ALL ( TABLE tbl2 )
 UNION ALL ( TABLE tbl3 )
) AS t
GROUP BY t.id
ORDER BY 1;

如果它們的順序不同,只需替換TABLE tbl2SELECT id, c1, c2 FROM tbl2(它們是相同的)。

引用自:https://dba.stackexchange.com/questions/197724