首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教一条sql语句

2012-02-02 
请问一条sql语句有三张表表一老师表t(id,name)表二学生表c(id,name)表三关系表r(idt,idc,class),idt表示老

请问一条sql语句
有三张表
表一老师表t(id,name)
表二学生表c(id,name)
表三关系表r(idt,idc,class),idt表示老师id,idc表示学生id,class分大班与小班
用一条select语句实现!
找出老师的名字,条件是   满足老师教的大班的学生数大于教的小班的学生数

[解决办法]
Select name From
(
Select
A.name,
SUM(Case class When '大班 ' Then 1 Else 0 End) As 大班学生数,
SUM(Case class When '小班 ' Then 1 Else 0 End) As 小班学生数
From
t
Inner Join
r
On
A.id =B.idt
Group By
A.name
) C
Where 大班学生数 > 小班学生数
[解决办法]
select name from t
where id in
(
select idt
from r
group by idt
having sum(case class when '大班 ' then 1 end)> sum(case class when '小班 ' then 1 end)
)

热点排行