[英]Pivoting rows to columns
兩件事:確保您有一個要旋轉的源表。 源表將包括您希望聚合的列。 在這種情況下,我給了它別名“src”。 其次,當您使用數字作為列名時,請確保使用括號。 或者,列名以字母開頭。 例如,[67554] 為 Col_67554。 我在代碼中提供了那個例子。
select cvid, cid,[67554] as Col_67554,[67555],[67556],[67557]
from
(select cvid, cid, lcd, qid from #temp2) as src
pivot
(
max(lcd) for qid in ([67554],[67555],[67556],[67557])
) p
這是一種可能性,使用相當通用的語法:
select CVID, CID, sum(case when QID = 67554 then LCD else 0 end) as [67554],
sum(case when QID = 67555 then LCD else 0 end) as [67555],
sum(case when QID = 67556 then LCD else 0 end) as [67556],
sum(case when QID = 67557 then LCD else 0 end) as [67557]
from test1
group by CVID, CID;
我在 SQL Server 2012 的 SSMS 中對此進行了測試。
如果您使用的是 Oracle SQL,請嘗試
select * from (
select cvid, cid, qid, lcd
from #temp2
) a
pivot
(
max(lcd)
for qid in (67554,67555,67556,67557)
) b
order by cvid;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.