Select 一列中的多个值基于另一列中的特定值

Select multiple values from a column based on a certain value from another column

我有三个 mysql 表,如下所示 "Courses"、"Modules" 和 "Course_Managements"...

"Modules" Table...

Module_id   Module_title
  1         Accounting
  2         Management
  3         Marketing

"Courses" Table...

Course_id   Course_title
  1          CIMA
  2          aat
  3          SLIM
  4          MBA

"Course_Managements" Table...

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

我想分配 SQL 查询,通过 selecting 课程 ID(假设为“1”)然后可用的 Module_ids 必须列为...' 1' 和 '2'

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

任何人都可以建议 SQL 查询来做到这一点..?

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

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

查询

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