Sql server 2008 r2 SQL-具有3个交叉选项卡的透视表
我有原始数据看起来像Sql server 2008 r2 SQL-具有3个交叉选项卡的透视表,sql-server-2008-r2,pivot-table,crosstab,Sql Server 2008 R2,Pivot Table,Crosstab,我有原始数据看起来像 Class Cert Name Benefit Coverage ------------------------------- 1 1001 ABC EHC Family 1 1001 ABC DEN Family 2 1002 XYZ EHC Single 2 1002 XYZ DEN Single 3 1003 LMN EHC
Class Cert Name Benefit Coverage
-------------------------------
1 1001 ABC EHC Family
1 1001 ABC DEN Family
2 1002 XYZ EHC Single
2 1002 XYZ DEN Single
3 1003 LMN EHC Couple
3 1003 LMN DEN Couple.
我希望最终输出看起来像
**Class** **Benefit**
EHC-Single EHC-Couple EHC-Family DEN-Single DEN-Couple DEN-Family
1 1 1
2 1 1
3 1 1
列下面的值是证书计数。是的,您可以按照下面的方法进行操作。看中
太好了,这正是我想要的,你是个天才。非常感谢MUCH@user3525244如果我的答案对你有帮助的话,一定要投赞成票来表达你的感激之情。
;WITH CTE
AS (SELECT COUNT(*) Counts,
Class,
Benefit + '-' + Coverage AS [Benefits]
FROM ##MyTemp
GROUP BY Class,
Benefit,
Coverage)
SELECT Class,
[EHC-Single],
[EHC-Couple],
[EHC-Family],
[DEN-Single],
[DEN-Couple],
[DEN-Family]
FROM CTE
PIVOT(MAX(Counts)
FOR [Benefits] IN ([EHC-Single],
[EHC-Couple],
[EHC-Family],
[DEN-Single],
[DEN-Couple],
[DEN-Family])) AS TempList;