34,590
社区成员
发帖
与我相关
我的任务
分享
select name,max(case qishu when 1 then jiangjin else 0 end) 第一期,
max(case qishu when 2 then jiangjin else 0 end) 第二期
from tb
order by name
create table tb (name varchar(10), qishu int, jiangjin int)
insert tb
select 'admin', 1, 200 union all
select 'admin', 2 ,300
declare @sql varchar(8000)
set @sql = 'select name '
select @sql = @sql + ' , max(case qishu when ' + ltrim(qishu) + ' then jiangjin else 0 end) [第' + ltrim(qishu) + '期]'
from (select distinct qishu from tb) as a
set @sql = @sql + ' from tb group by name'
exec(@sql)
/*
name 第1期 第2期
---------- ----------- -----------
admin 200 300
(所影响的行数为 1 行)
select name,max(case qishu when 1 then jiangjin else 0 end) 第一期
max(case qishu when 2 then jiangjin else 0 end) 第二期
from tb
order by name