当前位置: 代码迷 >> Sql Server >> 这种转换如何写,不带求和项的竖转横
  详细解决方案

这种转换如何写,不带求和项的竖转横

热度:48   发布时间:2016-04-24 19:53:14.0
这种转换怎么写,不带求和项的竖转横。
字段1 字段2 字段3
A 甲 类型1
A 乙 类型2
B 丙 类型1
B 丁 类型2

转换为如下格式:


名称 类型1 类型2
A 甲 乙
B 丙 丁

------解决方案--------------------
;with cte(字段1, 字段2, 字段3) as
(
select 'A','甲','类型1'
union all select 'A','乙','类型2'
union all select 'B','丙','类型1'
union all select 'B','丁','类型2'
)

select 字段1 as 名称,max(case when 字段3='类型1' then 字段2 end) as 类型1
,max(case when 字段3='类型2' then 字段2 end) as 类型2
from cte
group by 字段1

/*
名称 类型1 类型2
A 甲 乙
B 丙 丁
*/
  相关解决方案