我有一個表SQL:樞軸上多列
Name | Period | Value1 | Value2
-----+---------+---------+-------
A 1 2 3
A 2 5 4
A 3 6 7
B 1 2 3
B 2 5 4
B 3 6 7
我需要一個像
Name | Value1 | Value2
-----+--------+------
A | 2,5,6 | 3,4,7
B | 2,5,6 | 3,4,7
期數是動態的結果,但我知道如何處理這樣也好,爲了簡單起見,假設有3個階段
以下查詢爲我提供了Value1的結果。我怎樣才能得到結果? 我總是可以單獨做它們,然後進行連接,但是表格非常大,我需要「結合」四個值,而不是兩個。我可以在一個聲明中做到嗎?
SELECT Name,
[1]+','+ [2] + ','+ [3] ValueString
FROM (
select Name, period, cpr from #MyTable
) as s
PIVOT(SUM(Value1)
FOR period IN ([1],[2],[3])
只是注意,這是不是一個真正的支點 - 這是一個聚集。數據透視明確地將列中的值轉換爲新的列。在這種情況下,您可以爲每個時期創建列。 –