簡體   English   中英

TSQL PIVOT欄的一部分

[英]TSQL PIVOT Part of COLUMNS

我有下表,但不確定是否可以透視表中的某些列:

CREATE TABLE #test ( id int, Area varchar(10), [grouping] varchar(15), task_1 int, task_2 int)

INSERT INTO #test Values (10,'A','HighNeeds',1, 10)
INSERT INTO #test Values (10,'B','HighNeeds',1, 12)
INSERT INTO #test Values (12,'C','Non HighNeeds',2, 14)

select * from #test
-------------------------------------------------
id  Area    grouping        task_1  task_2
10  A       HighNeeds       1       10
10  B       HighNeeds       1       12
12  C       Non HighNeeds   2       14

What I'm trying to get is:
-------------------------------------------------
id  Area    Tasks      HighNeeds   Non HighNeeds   
10  A       task_1     1           NULL
10  A       task_2     10          NULL
10  B       task_1     1           NULL
10  B       task_2     12          NULL
12  C       task_1     NULL        2
12  C       takk_2     NULL        14

基本上,我試圖保留IDArea列,但重點討論分組數據和任務列。

這非常棘手-您需要將“ Grouping作為列進行透視,並task_1和“ task_2作為行值:

SELECT *
FROM
(
    SELECT 
        id, Area, grouping, tskCount, Task
    FROM 
        test
    UNPIVOT 
    (
       tskCount
       for Task in (task_1, task_2)
    ) unpvt
) X
PIVOT
(
 SUM(tskCount)
 for grouping in (HighNeeds, [Non HighNeeds])
)pvt;

在這里擺弄

暫無
暫無

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

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