hig*_*tow -1 sql sql-server-2008
我这里有一个小问题.我想从同一个表中加入两次,并按共同的值进行分组.
这是数据集(来自表格凭证):
Date (dd/mm/yyyy) Amount
--------------------------
01.01.2010 1.000
15.01.2010 2.000
01.03.2010 3.000
01.03.2010 4.000
01.05.2010 5.000
01.01.2011 1.000
01.02.2011 2.000
01.04.2011 3.000
15.04.2011 4.000
01.05.2011 5.000
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的:
Month Amount 2010 Amount 2011
---------------------------------
1 3.000 1.000
2 2.000
3 7.000
4 7.000
5 5.000 5.000
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
这些方面的东西适用于这种情况:
SELECT
DATEPART(month,[Date]) as Month,
SUM(CASE WHEN DATEPART(year,[Date]) = 2010 THEN Amount END) as [Amount 2010],
SUM(CASE WHEN DATEPART(year,[Date]) = 2011 THEN Amount END) as [Amount 2011]
FROM
Voucher
GROUP BY
DATEPART(month,[Date]) as Month
Run Code Online (Sandbox Code Playgroud)
对于其他情况,您可能需要查看PIVOT.
Date 列是一个非常糟糕的名字.
| 归档时间: |
|
| 查看次数: |
769 次 |
| 最近记录: |