首页 新闻 会员 周边

Sql查询分数大于80分以上的同学资料

0
悬赏园豆:5 [已关闭问题] 关闭于 2012-05-02 16:29

declare @tab table(name varchar(50),topic varchar(50),result int)
insert into @tab values('张三','语文',81)
insert into @tab values('张三','数学',85)
insert into @tab values('张三','历史',92)
insert into @tab values('张三','地理',86)
insert into @tab values('李四','语文',65)
insert into @tab values('李四','数学',90)
insert into @tab values('王五','语文',69)
insert into @tab values('王五','数学',89)
insert into @tab values('王五','历史',94)

我昨天去一公司面试,查询分数大于80分以上的同学资料,我给的答案如下,请各位高手看有没有需要简化的地方
select * from (
select name,isnull(sum(case when topic='语文' then result else null end),100) 语文,
   isnull(sum(case when topic='数学' then result else null end),100) 数学,
   isnull(sum(case when topic='历史' then result else null end),100) 历史,
   isnull(sum(case when topic='地理' then result else null end),100) 地理    
from @tab group by name) a
where a.语文>80 and a.数学>80 and  a.历史>80 and a.地理>80

wanghongxing的主页 wanghongxing | 初学一级 | 园豆:12
提问于:2012-02-07 12:10
< >
分享
所有回答(3)
0

什么分数?题意不明确,什么资料也不明确?

ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-07 12:31

输出格式也不明确,另外你的解答也不大对劲,没有成绩的哪科给个100应该也不大合理吧

支持(0) 反对(0) ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-07 12:37
2

select * from tab group by name having min(result)>80

today4king | 园豆:3499 (老鸟四级) | 2012-02-07 13:49
0

select * from user where result>80 group by userName

迷恋郭德纲 | 园豆:67 (初学一级) | 2012-02-07 14:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册