日期:2014-05-17  浏览次数:20416 次

这个条件查询语句怎么写?
用到两个表,teacher和student

teacher的字段和值如下:
id name sex
1 王老师 男
2 李老师 男
3 余老师 女
4 张老师 女


student的字段和值如下:
id name teacherId
1 张三 1
2 李四 1
3 王五 2
4 宋六 1
5 郑七 3
我想查出学生数超过两名的老师的详细资料,即此例里查出的结果显示为:
id name sex
1 王老师 男
谢谢!


------解决方案--------------------
SQL code
select * from teacher a
where id in (select teacherid from student group by teacherid having count(1)>=2)

------解决方案--------------------
SQL code


;WITH c1 AS
(
select t.id
from teacher t
LEFT JOIN student s ON t.id=s.teacherid
GROUP BY t.id
HAVING COUNT(t.id)>2
)
SELECT t.*
FROM c1 
JOIN teacher t ON c1.id = t.id