如何使用CASE语句在sql server中创建数据透视查询

前端之家收集整理的这篇文章主要介绍了如何使用CASE语句在sql server中创建数据透视查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Col1仅包含X和Y.
Col1    Col2

X       abc

Y       pqr

X       pqr

X       mnq

Y       cxr

我想这样做:

X    Y    Col2

Yes  Yes  pqr
Yes  No   abc
Yes  No   mnq
No   Yes  cxr

我应该写什么SQL查询

解决方法

使用 SQL PIVOT operator解决方案:
SELECT Col2,case when X=0 then 'No' else 'Yes' end as X,case when Y=0 then 'No' else 'Yes' end as Y
FROM MyTable
PIVOT (
  count(Col1)
  FOR Col1 IN ([X],[Y])
) AS PivotTable;

运行样本:http://www.sqlfiddle.com/#!3/5856d/14

猜你在找的MsSQL相关文章