sql - 事务处理 SQL : Display two SUM() from differents tables?

标签 sql database tsql sum

这是我想要的简化示例:

表 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

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

最佳答案

可能是这样的?

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

关于sql - 事务处理 SQL : Display two SUM() from differents tables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17293504/

相关文章:

android - 地理编码器在模拟器测试期间找不到位置

sql-server - 滑动窗口场景 - 使分区脱机

tsql - 返回刚刚添加的行的id

sql - 通过连接多个表来更新表中的列

android - 如何通过 Android 使用 Parse 从数据库中查询

sql-server - 如何查询位于不同数据库中的表?

MySQL 选择每个 id 具有最新值的所有行

mysql - 通过从 SQL Server 中的多个表中选择不同的列来创建 View

sql - 在计算之前过滤 Postgres percent_rank 但显示所有结果?

php - 对来自 MySql 的记录进行分组