注册 登录
编程论坛 ASP.NET技术论坛

请教高人一条sql查询语句实现列并排显示吗?

fyz520 发布于 2010-12-08 09:45, 2218 次点击
数据表tb_stu,字段name,chengji,xueke;

name    chengji    xueke
张三    85        语文
张三    95        数学
张三    80        英语

我想要的查询结果是:
name    yuwen    shuxue    yingyu
张三    85        95        80

一条sql语句能够实现吗?谢谢!

[ 本帖最后由 fyz520 于 2010-12-8 09:47 编辑 ]
4 回复
#2
kevintang2010-12-08 10:56
create table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)
Insert tb
Select '张三','语文',60 union all
Select '张三','数学',70 union all
Select '张三','英语',80 union all
Select '张三','物理',90 union all
Select '李四','语文',65 union all
Select '李四','数学',75 union all
Select '李四','英语',85 union all
Select '李四','物理',95
go

select [姓名]=max([姓名]), 数学=sum(case when [课程]='数学' then [分数] else 0 end),
物理=sum(case when [课程]='物理' then [分数] else 0 end),英语=sum(case when [课程]='英语'
then [分数] else 0 end),语文=sum(case when [课程]='语文' then [分数] else 0 end) from tb group by [姓名]
#3
fyz5202010-12-09 07:34
不太懂哦,,,能解释下吗?我在网上查了些资料,join也能实现吗?如果可以哪位高人能说说,我 不太懂,谢谢
#4
fyz5202010-12-09 09:33
为什么要加max?
1