Как использовать несколько NOT IN
в sql
DELETE FROM courses
WHERE course_id
NOT IN
(SELECT course_id FROM enrollment)
AND course_id = $id
Некоторые из методов, которые я пытался
DELETE FROM courses
WHERE course_id
NOT IN
((SELECT course_id FROM enrollment) || (SELECT courseid FROM fees))
AND course_id = $id
DELETE FROM courses
WHERE course_id
NOT IN (SELECT course_id FROM enrollment)
OR
NOT IN (SELECT courseid FROM fees)
AND course_id = $id
DELETE FROM courses
WHERE course_id
NOT IN
(SELECT course_id FROM enrollment WHERE course_id = $id
UNION
SELECT courseid FROM fees WHERE courseid = $id)
Нижеследующее должно работать нормально:
DELETE FROM courses
WHERE course_id NOT IN (SELECT course_id FROM enrollment)
AND course_id NOT IN (SELECT courseid FROM fees)
AND course_id = $id
Если он по-прежнему не работает для вас, я предлагаю изменить DELETE на SELECT course_id и добавлять/удалять условия один за другим, пока вы не поймете, что происходит в вашем запросе.
Кроме того, если вы хотите использовать OR s и AND в одном запросе, рекомендуется использовать скобки, чтобы было легче читать порядок, в котором условия проверяются.