我对 SQL 很陌生,并试图解决这个问题:
我有一个名为 BUDGET 的表,该表在一年中的每个月都有 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