/*
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 [图书馆] '
exec ( @exec )
/*
图书馆 数学 英语 语文
---------------------------------------------------
A 3 0 5
B 6 0 4
C 0 3 0
*/
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 [图书馆] '
exec ( @exec )
/*
图书馆 数学 英语 语文
---------------------------------------------------
A 3 0 5
B 6 0 4
C 0 3 0
*/