这种转换怎么写,不带求和项的竖转横。
字段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丙丁
*/