我非常新的SQL,并试图找出了这一点:如何从单列创建多个行 - 规范化表
我有一个叫预算有一年的每个月12列的表,显示该月的预算余额。因此,表看起来像这样:
[Department] [Year] [Month1] [Month2] .... [Month12]
ABCD 2010 $5000 $5500 ..... $4000
ABCD 2011 $6000 $6500 ..... $3000
我所试图做的是要规范化此表,并打破每一行到12行,每行用以下格式的日期字段。我也想要一个[Balance]列来显示当月的价值。所以,规范化的表将如下所示:
[Department] [Date] [Balance]
ABCD 20100101 $5000
ABCD 20100201 $5500
ABCD 20100301 .....
ABCD ....... ......
我试过在同一张表上使用CROSS JOIN,但失败了。我也尝试使用while循环,但也失败了。任何形式的帮助表示赞赏。谢谢!
编辑:我使用SQL Server 2008
如果您在SQL Server 2005或更高版本上,请查看PIVOT和UNPIVOT运算符。 – iruvar 2012-08-07 00:59:08
我在SQL Server 2008上 – Thracian 2012-08-07 01:13:04