【发布时间】:2012-02-28 11:15:41
【问题描述】:
我有两个表要加入并在 SQL 2008 中创建一个交叉表:
表A:
Auto_ID | Fiscal_Period | Amount
1 | 01012012 | NULL
1 | 01022012 | 80
1 | 01032012 | NULL
2 | 01012012 | NULL
2 | 01022012 | 10
表B:
Auto_ID | Row_ID | StaticData
1 | 1 | sampledata
2 | 2 | data1
我想使用交叉表来动态创建如下表结构:
Row_ID | StaticData | FiscalPeriod(01012012) | FiscalPeriod(01022012) | FiscalPeriod(01032012)
1 | sampledata | NULL | 80 | NULL
2 | data1 | NULL | 10 | NULL
我当前的查询正确地连接了表;但是,我在将会计期间转换到标题行时遇到了困难。
SELECT *
FROM (SELECT
B.Row_Id as RowID, B.StaticData as StaticData, A.Fiscal_Period AS FPPD
FROM TableA A
LEFT JOIN TableB B ON A.Auto_ID = B.Auto_ID)
【问题讨论】:
-
如果您发布代码、XML 或数据示例,请 在文本编辑器中突出显示这些行,然后单击编辑器上的“代码示例”按钮 (
{ })工具栏以很好地格式化和语法突出显示它! (也绝对不需要大量的&nbsp;或<br/>元素,那样......)
标签: sql sql-server-2008 crosstab