簡體   English   中英

teradata sql將多次出現的數據透視到其他列中

[英]teradata sql pivot multiple occurrences into additional columns

我有這樣的事情:

ID      Result
1       value1
2       value1
2       value2
3       value1
4       value1
4       value2
4       value3

我想返回這樣的內容:

ID      Result1      Result2      Result3
1       value1
2       value1       value2
3       value1
4       value1       value2       value3

我已經搜索過關鍵點,連貫點和中斷點,但我找不到簡單,明智的解決方案。

TIA

不幸的是,Teradata沒有PIVOT函數,但是您可以將聚合函數與CASE表達式一起使用以獲取結果。

select id,
    max(case when seq =1 then result end) result1,
    max(case when seq =2 then result end) result2,
    max(case when seq =3 then result end) result3
from
(
    select id, res, row_number() over(partition by id order by result) seq
    from yourtable
) d
group by id
order by id;

如果每個ID都有更多值,則可以添加更多CASE表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM