我有以下表格:
我想將其透視為以下表格:
我試著用下面的例子來作業。
https://www.sqlshack.com/dynamic-pivot-tables-in-sql-server/
但是在這種情況下,SUM運算子是必須的。
我不想對我的資料使用SUM運算子。
什么才是最好的方法呢。 最終我想再次使用這些資料,我想防止我需要做大量的 "左聯 "陳述句,比如下面的陳述句:
我想知道我的資料是什么?
select table_a.Cat,one.number as number1, one. namevalue as Name1, two.number as number2, two.namevalue as name2
from table_a
left outer join (
select *
from #temp
where numbercat ='number1'
) as one on table_a.cat = one.cat
left outer join (
select *
from #temp
where numbercat = 'number2'
) as two on table_a.cat = two.cat
我能夠用下面的代碼取消對numbercat & number的透視:
select *
from
(
select cat, numbercat, number
from #input
) src
樞軸
(
min(number)
for numbercat in ([1], [2], [3] )
) piv;
我應該怎么做才能同時納入Namecat & namevalue資料呢?
uj5u.com熱心網友回復:
我發現條件聚合通常比pivot更簡單、更通用:
select cat,
max(case when numbercat = 'number1' then number end) as number1,
max(case when numbercat = 'number2' then number end) as number2,
max(case when namecat = 'name1' then name end) as name1,
max(case when namecat = 'name2' then name end) as name2
from #temp
group by cat;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/322166.html
標籤:
上一篇:你能把3個CTE合并成一個嗎?
下一篇:用R中的地圖函式過濾

