702
社区成员
发帖
与我相关
我的任务
分享
;WITH tb(rq,dl,jzrc,jzlw)AS (
SELECT '201608',N'MDT',4,160.0 UNION ALL
SELECT '201601',N'普通门诊',2,180.0 UNION ALL
SELECT '201602',N'普通门诊',2,330
)
SELECT * FROM (
SELECT rq,data_title,data_value FROM tb
CROSS APPLY(VALUES(dl+N'_人次',jzrc),(dl+N'_积分',jzlw)) i(data_title,data_value)
) AS t
PIVOT(MAX(data_value) FOR data_title IN (MDT_人次,MDT_积分,普通门诊_人次,普通门诊_积分)) u
/*
rq MDT_人次 MDT_积分 普通门诊_人次 普通门诊_积分
------ --------------------------------------- --------------------------------------- --------------------------------------- ---------------------------------------
201608 4.0 160.0 NULL NULL
201601 NULL NULL 2.0 180.0
201602 NULL NULL 2.0 330.0
*/