SQL 分组查询,把纵向显示的结果变成横向显示
/*create table BookLibary([图书馆] varchar(10), [科目] varchar(10), [数量] int)
insert into BookLibary
select 'A', '语文', 5
union all select 'B', '数学', 6
union all select 'C', '英语', 3
union all select 'B', '语文', 4
union all select 'A', '数学', 3
*/
declare @exec varchar(8000)
set @exec='select [图书馆]'
select @exec=@exec+',max(case when [科目] ='''+ [科目] +''' then [数量] else '''' end) as '''+[科目]+'''' from BookLibary group by [科目]
set @exec=@exec+'from BookLibary group by [图书馆]'
print @exec
exec(@exec)
select * from BookLibary
insert into BookLibary
select 'A', '语文', 5
union all select 'B', '数学', 6
union all select 'C', '英语', 3
union all select 'B', '语文', 4
union all select 'A', '数学', 3
*/
declare @exec varchar(8000)
set @exec='select [图书馆]'
select @exec=@exec+',max(case when [科目] ='''+ [科目] +''' then [数量] else '''' end) as '''+[科目]+'''' from BookLibary group by [科目]
set @exec=@exec+'from BookLibary group by [图书馆]'
print @exec
exec(@exec)
select * from BookLibary
作者: 陆岛工作室