表结构如下:

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
05-11 16:26