TSQL反向查询以将列显示为行

TSQL反向查询以将列显示为行,tsql,sql-server-2012,Tsql,Sql Server 2012,下面的查询将为我提供 Active Inactive 3 1 SELECT SUM(CASE WHEN Active = 'True' THEN 1 ELSE 0 END) AS Active, SUM(CASE WHEN Active = 'False' THEN 1 ELSE 0 END) AS Inactive FROM Events 我希望得到如下结果: Status Count Active 3 Inactive 1 我怎样才能反其道而行之?无需旋转结

下面的查询将为我提供

Active  Inactive
3       1

SELECT
SUM(CASE WHEN Active = 'True' THEN 1 ELSE 0 END) AS Active,
SUM(CASE WHEN Active = 'False' THEN 1 ELSE 0 END) AS Inactive
FROM Events
我希望得到如下结果:

Status    Count
Active    3
Inactive  1

我怎样才能反其道而行之?

无需旋转结果集,您可以使用简单的
分组方式

SELECT CASE Active WHEN 'True' THEN 'Active'
                   WHEN 'False' THEN 'Inactive'
       END AS Status
      ,COUNT(*) AS Count
FROM Events
WHERE Active IN ('True', 'False')
GROUP BY CASE Active WHEN 'True' THEN 'Active'
                   WHEN 'False' THEN 'Inactive'
       END;

谢谢你的工作!8分钟一到我就接受