如何从同一个表加入两次.按同一列分组

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)

我该如何解决这个问题?

Dam*_*ver 5

这些方面的东西适用于这种情况:

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 列是一个非常糟糕的名字.