Transact-SQL:从不同的表中显示两个SUM()?

Ale*_*lex 1 sql t-sql database sum

这是我想要的简化例子:

表格1 :

CODE | VALUE
A    | 10
A    | 20
B    | 10
C    | 20
Run Code Online (Sandbox Code Playgroud)

表2:

CODE | VALUE2
A    | 25
B    | 10
B    | 10
D    | 20
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

CODE | SUM(VALUE) | SUM(VALUE2)
A    | 30         | 25
B    | 10         | 20
C    | 20         | NULL
D    | NULL       | 20
Run Code Online (Sandbox Code Playgroud)

我天真地尝试过:

SELECT T1.CODE, SUM(VALUE), SUM(VALUE2)
FROM table1 T1
LEFT OUTER JOIN table2 T2
ON T1.CODE = T2.CODE
GROUP BY T.CODE
Run Code Online (Sandbox Code Playgroud)

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

Kot*_*did 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
Run Code Online (Sandbox Code Playgroud)