繁体   English   中英

在SQL Server选择中交换表的行和列

[英]Swap rows and columns of a table in sql server select

Denomination                     | Count
----------------------------------------
Cnanaya Catholic                 | 17
RC Latin Catholic                | 28
RC Syrian Catholic               | 3

我想像下面交换行和列

Cnanaya Catholic | RC Latin Catholic | RC Syrian Catholic
---------------------------------------------------------
17               | 28                | 3

请帮助任何想法。

您可以使用PIVOT进行如下操作:

假设您当前的结果是按如下分组:

SELECT Denomination, count(id) as count
from table
group by Denomination

您的数据透视查询将类似于:

SELECT * FROM (SELECT Denomination, id from table) d
PIVOT (COUNT(id) FOR Denomination IN ([Cnanaya Catholic],[RC Latin Catholic],[RC Latin Catholic],[RC Syrian Catholic])) p

您可以使用SQL Server PIVOT

这是一个row2column问题。 尝试这个:

select 
  sum(case Denomination when 'Cnanaya Catholic' then Count end) CnanayaCatholic,
  sum(case Denomination when 'RC Latin Catholic' then Count end) RCLatinCatholic,
  sum(case Denomination when 'RC Syrian Catholic' then Count end) RCSyrianCatholic
from YOURTABLE t;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM