这是我想要的简化例子:
表1:
CODE | VALUE
A | 10
A | 20
B | 10
C | 20
表2:
CODE | VALUE2
A | 25
B | 10
B | 10
D | 20
这就是我想要的:
CODE | SUM(VALUE) | SUM(VALUE2)
A | 30 | 25
B | 10 | 20
C | 20 | NULL
D | NULL | 20
我天真地试了一下:
SELECT T1.CODE, SUM(VALUE), SUM(VALUE2)
FROM table1 T1
LEFT OUTER JOIN table2 T2
ON T1.CODE = T2.CODE
GROUP BY T.CODE
但结果是错误的,我不知道该怎么做......有人可以解释我如何解决这个问题并创建一个正确的查询?
答案 0 :(得分:5)
可能是这样的吗?
select code, sum(v1), sum(v2)
from (select code, value v1, null v2
from table1
union
select code, null v1, value2 v2
from table2)
group by code