日期:2014-05-18  浏览次数:20447 次

请教一个datagrid显示的sql语句问题!
三个表
学生表
id         姓名         班级
1           张三         一班
2           李四         二班
3           王五         一班
.....

科目表
id       科目名称
1           数学
2           语文
......

分数表
id         分数         姓名         科目
1             60             1               1
1             48             2               1
......

我要显示下面的效果
科目       班级       及格人数       平均分

应该怎么显示???
datagrid应该怎么写sql语句?怎么绑定??

------解决方案--------------------
select 科目名称,班级,avg(分数) as 平均分,sum(及格) as 及格人数
from
(
select k.科目名称,x.班级,f.分数,case when f.分数> 56 then 1 else 0 end as 及格 from
科目表 k left join
分数表 f on k.id=f.科目 left join
学生表 x on f.姓名=x.id
) as a0
group by 科目名称,班级