SQL - 逆透视列

问题描述 投票:0回答:1

如何取消 SQL 中最后 3 列的透视?

SELECT 
        [Source]
       ,ReportingPeriodStartDate
       ,ReportingPeriodStartDate_YYYYMM
       ,Healthcare_Provider
       ,TheRowTotal
       ,[%ServiceRequestId]
       ,[%IndirectActDate]
  FROM ##MHSDS_204_Indirect_Activity_DeDuplicated 
sql unpivot
1个回答
0
投票
CREATE TABLE ##MHSDS_204_Indirect_Activity_DeDuplicated  
(
    [Source]    VARCHAR(512),
    ReportingPeriodStartDate    VARCHAR(512),
    ReportingPeriodStartDate_YYYYMM VARCHAR(512),
    Healthcare_Provider VARCHAR(512),
    TheRowTotal INT,
    [%ServiceRequestId] INT,
    [%IndirectActDate] INT
);

INSERT INTO ##MHSDS_204_Indirect_Activity_DeDuplicated  ([Source], ReportingPeriodStartDate, ReportingPeriodStartDate_YYYYMM, Healthcare_Provider, TheRowTotal, [%ServiceRequestId], [%IndirectActDate] ) VALUES
    (1, '2024-1-1', '202401', 'RAMQ', 100, 10, 10),
    (1, '2024-1-2', '202402', 'OHIP', 90, 11, 11),
    (1, '2024-1-3', '202403', 'BCHC', 80, 12, 12),
    (1, '2024-1-4', '202404', 'MHSPI', 70, 13, 13),
    (1, '2024-1-5', '202405', 'AHCIP', 60, 14, 14),
    (1, '2024-1-6', '202406', 'SMH', 50, 15, 15);

SELECT * FROM ##MHSDS_204_Indirect_Activity_DeDuplicated 

select [Source], ReportingPeriodStartDate, ReportingPeriodStartDate_YYYYMM, Healthcare_Provider,
           u.pct, u. [Values]
from ##MHSDS_204_Indirect_Activity_DeDuplicated  s
unpivot
(
  [Values]
  for pct in (TheRowTotal, [%ServiceRequestId], [%IndirectActDate])
) u;

小提琴

© www.soinside.com 2019 - 2024. All rights reserved.