我有一個tableA:
------ -------- -------
| name | code | num |
------ -------- -------
| A | no1 | 300 |
| A | no2 | 100 |
------ -------- -------
我也有一個tableB:
------ -------- -------
| name | code | num |
------ -------- -------
| A | no1 | -100 |
| A | no5 | 77 |
| B | no7 | 2 |
------ -------- -------
我的目標是想要變成tableC這樣:
------ -------- -------
| name | code | num |
------ -------- -------
| A | no1 | 200 |
| A | no2 | 100 |
| A | no5 | 77 |
| B | no7 | 2 |
------ -------- -------
我使用了 union 和 join,但結果不對,請告訴我如何獲得TableC?
uj5u.com熱心網友回復:
因此,JOIN您需要的不是UNION. 您可以使用“ UNION ALL”或“ UNION”,這取決于您是否想要重復的行。
在任何情況下,在 , 之后將UNION結果分組到子查詢中以獲取SUM()
SELECT
u.name,
u.code,
SUM(u.num),
FROM
(
SELECT name, code, num FROM tableA
UNION ALL
SELECT name, code, num FROM tableB
) u
GROUP BY u.name, u.code
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/374308.html
上一篇:將多個列與多個查找表連接起來
