我有3个表,用户,课程和课程表。我希望得到那些没有参加特定课程的用户。所以我想我需要以某种方式合并2选择与右连接。如何从2个选项中选择一个?
SELECT ID, NAME, LASTNAME, ROLE FROM COURSERELATION JOIN USERS ON
ID_USER = ID WHERE ID_COURSE = ?
RIGTH JOIN
SELECT ID, NAME, LASTNAME, ROLE from COURSERELATION JOIN USERS ON
ID_USER = ID WHERE ID_COURSE != ?
答案 0 :(得分:0)
您需要提取不存在的用户特定课程的该用户记录。您可以使用子查询上的NOT EXISTS子句过滤行。
请尝试以下查询:
SELECT u.ID,
u.NAME,
u.LASTNAME,
u.ROLE
FROM USERS u
WHERE NOT EXISTS (SELECT 1
FROM COURSERELATION s
WHERE s.id_user = u.id
AND s.id_course = 'YOUR_COURSE_ID_HERE' )