我有一個名為Comments 的SQL 表,有 2 列:NCC_CLTID 和 NCC_CTYPE
該表有以下資訊
NCC_CLTID NCC_CTYPE
TEST1 A
TEST1 A
TEST1 C
TEST1 E
TEST1 E
TEST1 E
TEST1 E
TEST2 A
TEST2 B
TEST2 B
TEST2 C
我想要一個如下所示的資料透視表:
NCC_CLTID TYPE1 TYPE2 TYPE3 TYPE4 TYPE5 TYPE6 TYPE7 TYPE8 ... TYPE20
TEST1 A A C E E E E NULL NULL
TEST2 A B B C NULL NULL NULL NULL NULL
我怎樣才能做到這一點?由于某種原因,我看不到使這項作業的方法
uj5u.com熱心網友回復:
假設您已經知道或最大數量的TYPEs,您可以使用 row_number() 來確定列
例子
Select *
From (
Select [NCC_CLTID]
,[NCC_CTYPE]
,Item = concat('Type',row_number() over (partition by [NCC_CLTID] order by [NCC_CTYPE]) )
from YourTable
) src
Pivot (max([NCC_CTYPE]) for Item in ([Type1],[Type2],[Type3],[Type4],[Type5],
[Type6],[Type7],[Type8],[Type9],[Type10],
[Type11],[Type12],[Type13],[Type14],[Type15],
[Type16],[Type17],[Type18],[Type19],[Type20]
) ) pvt
結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/328802.html
標籤:sql-server sql-server-2012 枢
上一篇:將SQL中的結果從正面更改為負面
下一篇:這個SQL查詢在做什么?
