帐户数据的PIVOT表,每个月都有列

时间:2014-01-16 13:47:29

标签: sql tsql sql-server-2005 pivot

我正在查找的表格包含以下列:

department_number, amount, date_created.

我正在尝试创建一个表格,显示2013年每个部门的总金额,所以它看起来像这样:

Department_number, Jan Amount, Feb Amount, March Amt, etc....

这是数据透视表的情况,还是我应该为每个月运行不同的查询并加入?

2 个答案:

答案 0 :(得分:1)

您的情况肯定是使用PIVOT表语法的候选者。下面是一个简单的查询,它进行了转动。

SELECT Department_number
,[January]
,[February]
,[March]
FROM (
SELECT Department_number, Amount, datename(date_created) AS month_created from <Your_Table>
) AS SOURCETABLE
PIVOT(SUM([Amount]) FOR month_created IN ([January],[February],[March])) AS PIVOTTABLE

此查询假设您的date_created列包含表中的Jan,Feb,March值。如果需要,您可以添加更多月份。

有关此主题的更多信息 - http://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx

答案 1 :(得分:-1)

如果要在SSRS报告中显示此内容,请转到行和列分组并汇总金额,否则可以使用带有TSQL的数据透视表:How to pivot table with T-SQL?