帮忙写一个sql查询语句

表结构usernamefangxiangexam王java80王NET80李java90李NET70王SQL90-----------------查询出来:usernam... 表结构
username fangxiang exam
王 java 80
王 NET 80
李 java 90
李 NET 70
王 SQL 90
-----------------
查询出来:
username java NET SQL
王 80 80 90
李 90 70
展开
 我来答
百度网友e12895c
2007-09-21 · TA获得超过288个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:213万
展开全部
--本语句可以支持不定数量的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
iambise
2007-09-21 · TA获得超过714个赞
知道小有建树答主
回答量:834
采纳率:50%
帮助的人:505万
展开全部
不是有类似的吗?
http://zhidao.baidu.com/question/13242062.html

select A.姓名,A.科目 as 语文,B.科目 as 数学,C.科目 as 英语
from student A,student B,student C
where A.姓名=B.姓名 and B.姓名=C.姓名
and A.科目='语文' and B.科目='数学'
and C.科目='英语'

参考资料: http://zhidao.baidu.com/question/13242062.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式