1

这是我想要的简化示例:

表格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

但结果是错误的,我不知道该怎么办......有人可以解释我如何解决这个问题并创建一个正确的查询?

4

1 回答 1

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
于 2013-06-25T09:24:20.087 回答