假设我们有两个实体:教师和学生。SQL问题,挑战
每位老师有多个学生。
现在我想:
查询最多5名教师,并为每一位教师,不超过他的学生10。
到目前为止,这可以很容易地通过做:
select *,
(
select GROUP_CONCAT('<sid>',students.name,'</sid>') from students on
teachers.id=students.teacher limit 10
) as students
from teachers limit 5
但是,这并不是故事的全部呢。
和
如果教师的人已超过10名学生,应该返回true
为老师,否则false
如何做到这一点的SQL?
请准确。产生的关系应具有什么样的标题? – 2009-12-16 04:48:55
这是什么数据库? – 2009-12-16 04:49:27
伪代码就足够了。 – user198729 2009-12-16 04:50:01