2013-02-15 58 views
1

说,我有如下表,表1SSMS - 枢轴旋转柱和改变字段名

SIMULATION STATEMENT_LINE     PERIOD OUTPUT_YTDIncStmt 
0   A_1_a_Gross_Written_Premium  2012Q2 1362419134 
0   A_Net_Earned_Premium   2012Q2 0 
0   A_1_Gross_Earned_Premium  2012Q2 1362419134 

有什么办法,我可以转动的STATEMENT_LINE列,因此而不必所有A_1并没有什么,我可以使它看起来像这样...

PERIOD [Gross Written Premium] [Net Earned Premium] [Gross Earned Premium] 
2012Q2   1362419134     0      1362419134 

我想亲自指定的列会怎样称呼,而不是刚刚摆脱了“_”和“A”或“1”。

这样做的好方法是什么?

+0

您是否有未知数量的'STATEMENT_LINE'值,或者您只有3个? – Taryn 2013-02-15 20:33:56

+0

我有很多,但我只需要选择约6.如果我想所有我肯定会使用动态SQL。 – Kristina 2013-02-15 21:17:49

回答

1

你可以做这样的事情。

SELECT [Period], 
    [A_1_a_Gross_Written_Premium] AS [Gross Written Premium], 
    [A_Net_Earned_Premium] AS [Net Earned Premium], 
    [A_1_Gross_Earned_Premium] AS [Gross Earned Premium] 
FROM 
    (
    SELECT [STATEMENT_LINE], [PERIOD], [OUTPUT_YTDIncStmt] 
    FROM Table1 
    ) AS Source 

PIVOT 
    (
    MAX(OUTPUT_YTDIncStmt) 
    FOR STATEMENT_LINE IN ([A_1_a_Gross_Written_Premium], [A_Net_Earned_Premium], [A_1_Gross_Earned_Premium]) 
) AS PivotTable 
+0

我很愚蠢......除了我把''A_1_a_Gross_Written_Premium'AS [总书面高级]'这样的话给了我实际的措辞而不是我需要的号码之外,我做了同样的事情。谢谢!! – Kristina 2013-02-15 20:34:13