根据另一列中的特定值从列中选择多个值

时间:2015-07-08 08:13:17

标签: mysql nested-query

我有三个mysql表作为“Courses”,“Modules”和“Course_Managements”如下......

“模块”表......

Module_id   Module_title
  1         Accounting
  2         Management
  3         Marketing

“课程”表......

Course_id   Course_title
  1          CIMA
  2          aat
  3          SLIM
  4          MBA

“Course_Managements”表...

 CM_id   Module_id  Course_id
  1           1         1
  2           1         2
  3           2         1
  4           2         4
  5           3         3
  6           3         4

我想通过选择一个课程ID(让我们说'1')来分配SQL查询,那么可用的Module_ids必须列为......'1'和'2'

我正在尝试开发一个界面,通过该界面,用户可以选择课程,然后他/她可以查看其下的模块......

有人建议使用SQL查询吗??

2 个答案:

答案 0 :(得分:1)

您必须从用户处输入courseId并使用以下查询来获取modules

SELECT *
FROM Modules
INNER JOIN Course_Managements ON Modules.Module_id = Course_Managements.Module_id
WHERE Course_Managements.Course_id = $course_id

答案 1 :(得分:0)

<强>查询

select t2.Course_id,
t2.Course_title,
group_concat(t1.Module_title separator ',') as Modules
from modules t1
join courses t2
join course_management t3
on t1.Module_id=t3.Module_id
and t2.Course_id=t3.Course_id
where t2.Course_id=1
group by t2.Course_id,
t2.Course_title;

Fiddle demo here