我目前有以下 SQL 语句:
SELECT s.first_name, s.last_name, tgs.group_identifier
FROM staff s
JOIN staff_training st
ON s.staff_id = st.staff_id
JOIN training_group_staff tgs
ON st.staff_training_id = tgs.staff_training_id
WHERE st.staff_course_id = '164'
training_group_staff
只包含staff_training_id
和training_group_id
此语句按预期工作,并返回参加课程 164 的所有工作人员姓名,并已被放入一个组(用该group_identifier
字段标识)。
我试图做的是在培训课程 164 上显示所有用户,如果没有选择任何组(特定staff_training_id
in不会有一行training_group_staff
),则为该列返回 null。
视觉示例
当前语句返回:
first_name | last_name | group_identifier
Jim | Jones | 3
Harry | Jones | 6
我试图返回的是:
first_name | last_name | group_identifier
Jim | Jones | 3
Harriet | Smith | NULL // No row in training_group_staff
Harry | Jones | 6
我尝试了几个连接,但似乎返回相同的结果 - 一个查询中是否可能有所需的输出?