首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL -获得由1和2老师提供的课程名称。

MYSQL -获得由1和2老师提供的课程名称。
EN

Stack Overflow用户
提问于 2014-09-25 21:44:59
回答 2查看 47关注 0票数 0

如果您有以下表格:

代码语言:javascript
复制
   course:
   +---------------+---------------+
   |      id       |     Name      |
   |---------------|---------------| 
   |      1        |   Maths       | 
   |      2        |   English     |        
   |      3        |   Art         |        
   |      4        |   Physics     |        
   |      5        |   Psychology  |        
   +-------------------------------+        

   course_teacher:                                   
   +----------------------+---------------------+        
   |      course_id       |     teacher_id      |
   |----------------------|---------------------|
   |      1               |   1                 |
   |      2               |   1                 |
   |      1               |   2                 |
   |      2               |   2                 |
   |      3               |   2                 |
   +----------------------v---------------------+

我怎样才能得到由1和2老师给出的课程名称清单。

我尝试过的:SELECT DISTINCT(course_id) FROMcourse_teacherWHEREteacher_idIN (1,2);

但是,该查询将过滤所有的双重结果,而不是对教师1和2进行筛选。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-25 21:58:24

代码语言:javascript
复制
SELECT DISTINCT(name) FROM courses c
INNER JOIN course_teachers ct ON c.id = ct.course_id 
WHERE ct.teacher_id = 1 OR ct.teacher_id = 2;

http://sqlfiddle.com/#!2/8f7f9/6/0

如果你只想要两位老师的课程,那么它是相关的:

代码语言:javascript
复制
SELECT name FROM courses c
INNER JOIN course_teachers ct ON c.id = ct.course_id 
WHERE ct.teacher_id = 1 OR ct.teacher_id = 2 GROUP BY c.id 
HAVING COUNT(c.id) = 2;

http://sqlfiddle.com/#!2/8f7f9/7/0

票数 2
EN

Stack Overflow用户

发布于 2014-09-25 22:10:30

我现在找到它了,JOIN表:

代码语言:javascript
复制
SELECT vk1.`course_id` 
FROM `course_teacher` vk1, `course_teacher` vk2
WHERE vk1.`teacher_id` =2
AND vk2.`teacher_id` =10
AND vk1.`course_id` = vk2.`course_id` 
GROUP BY vk1.`course_id` 

请注意,我没有包括课程名称!这需要额外的JOIN

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26048651

复制
相关文章

相似问题

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