SQL Server UNION SUM misses repeated values
本问题已经有最佳答案,请猛点这里访问。
我有3个独立的查询,我想对每个查询中获得的值求和。这些查询获取每月的每一天的计数值:
查询一
1 2 3 4 5 6 | DAY|val| 1 | 2 2 | 6 3 | 5* 4 | 2 5 | 7 |
查询2
1 2 3 4 5 6 | DAY|val| 2 | 1 3 | 5* 10 | 5 11 | 2 12 | 7 |
号
我正在使用说明:
1 2 3 | SELECT DAY, SUM(val) FROM query1 UNION query2 GROUP BY DAY |
我发现当一个值被重复而不是求和时,它将使用一个重复的值,对于axample,days number 3都有值5。指令只给出值5而不是10。
这本应该给我一个月内每天的总价值的报告,但是由于工会造成的这个问题,报告是错误的。我怎么修?
正如您注意到的,
1 2 3 | SELECT DAY, SUM(val) FROM query1 UNION ALL query2 GOURP BY DAY |
你应该做
1 2 3 4 5 6 | SELECT DAY, SUM(val) FROM ( SELECT DAY,val FROM table1 UNION ALL SELECT DAY,val FROM table2) t GROUP BY DAY; |