首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL为所有行选择带有条件的联接3表

MySQL为所有行选择带有条件的联接3表
EN

Stack Overflow用户
提问于 2013-07-26 02:53:26
回答 1查看 84关注 0票数 0

我需要一些帮助来创建正确的选择..。

这是我的桌子:

代码语言:javascript
复制
**teacher** :
id
name

**classroom** :
id
teacher_id

**students** :
id
name
classroom_id
status

我正在努力挑选所有有教室的老师。只有当所有学生的地位>10时,才能选择教室。

例如,如果学生的状态为5,那么课堂可能不会被选择,因此老师可能不会被选中(此外,他还有另一个可以选择的教室)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-26 03:18:54

试试这个:

代码语言:javascript
复制
select * from teacher t
inner join classroom c on t.id=c.teacher_id
inner join 
(select * from students 
group by classroom_id having classroom_id not in 
(select distinct classroom_id from students where status<=10)) s 
on s.classroom_id=c.id

更新:根据您的评论,我认为上面的查询应该有效,但是您可以测试这个查询:

代码语言:javascript
复制
select * from teacher t where id in
   (select distinct teacher_id from classroom where id in
       (select distinct classroom_id from students 
        group by classroom_id having classroom_id not in 
          (select distinct classroom_id from students where status<=10)
        )
    )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17872111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档