我有一個聯系人串列,其中包含他們作業的多個部門,一個聯系人有多少個部門不同,他們可能有 0 個。當我運行查詢而不是創建聯系人的副本以適應這些多個部門時,是否可以添加額外的列應該找到多個結果嗎?
我現在的結果:
email sector
1 bob@work.com builder
2 bob@work.com construction
3 sally@work.com NULL
4 greg@email.com builder
5 jane@hello.com baker
6 peter@hi.com painter
7 peter@hi.com finance
8 peter@hi.com money-management
期望的結果:
email sector sector2 sector3
1 bob@work.com builder construction NULL
3 sally@work.com NULL NULL NULL
4 greg@email.com builder NULL NULL
5 jane@hello.com baker NULL NULL
6 peter@hi.com painter finance money-management
uj5u.com熱心網友回復:
假設您只想報告 3 個部門,我們可以嘗試借助以下方法進行資料透視查詢ROW_NUMBER():
WITH cte AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY email ORDER BY sector) rn
FROM yourTable
)
SELECT
email,
MAX(CASE WHEN rn = 1 THEN sector END) AS sector,
MAX(CASE WHEN rn = 2 THEN sector END) AS sector2,
MAX(CASE WHEN rn = 3 THEN sector END) AS sector3
FROM cte
GROUP BY email;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/445188.html
上一篇:如何使用sql獲取剩余的總庫存
下一篇:不在子查詢中的雄辯關系
