表结构如下:
RefID HRMS Name InsuranceMoney InsuranceName
fb2bdee8-e4c9-4470-8e7f-14550d3212f7 2 李四 350.00 医疗保险
f9e2135c-3c25-4e85-93a1-33c4d509e9fd 1 张三 300.00 医疗保险
37eac6a6-0c90-4d59-95d5-4a5fefa2ea5b 3 王二 300.00 医疗保险
0f0fec55-0041-403e-b6e9-59b645e2d500 3 王二 150.00 养老保险
90424d7a-bfbf-41e5-b86d-d7af67aa9db1 2 李四 250.00 养老保险
c3431ed8-a923-4638-8fd0-e1353d0154ab 1 张三 200.00 养老保险
c3431ed8-a923-4638-8fd0-e1353d0154ac 2 李四 5.00 医疗保险
要求转换为:
HRMS Name 医疗保险 养老保险
2 李四 355.00 250.00
3 王二 300.00 150.00
1 张三 300.00 200.00
sql 如下:
SELECT *
FROM (
SELECT
HRMS
,Name
,InsuranceMoney
,InsuranceName
FROM dbo.Insurances
) t
PIVOT (
SUM(InsuranceMoney)
FOR InsuranceName IN ([医疗保险], [养老保险])
) p