帮忙写一个sql查询语句

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:31:41
表结构
username fangxiang exam
王 java 80
王 NET 80
李 java 90
李 NET 70
王 SQL 90
-----------------
查询出来:
username java NET SQL
王 80 80 90
李 90 70

--本语句可以支持不定数量的fangxiang
create table #table(username varchar(10),fangxiang varchar(20),exam int)
insert into #table(username,fangxiang,exam)
select '王', 'java', 80
union all select '王', 'NET', 80
union all select '李', 'java', 90
union all select '李', 'NET', 70
union all select '王', 'SQL', 90

declare @sql varchar(8000)
set @sql=''
select @sql=@sql+',sum(case when fangxiang='''+fangxiang+''' then exam else null end) as '
+fangxiang from #table group by fangxiang
set @sql='select username'+@sql+' from #table group by username'
exec(@sql)

drop table #table
--结果
username java NET SQL
---------- ----------- ----------- -----------
李 90 70 NULL
王 80 80 90

不是有类似的