У меня есть следующая таблица базы данных с информацией о людях, заболеваниях и лекарствах:
PERSON_T DISEASE_T DRUG_T
========= ========== ========
PERSON_ID DISEASE_ID DRUG_ID
GENDER PERSON_ID PERSON_ID
NAME DISEASE_START_DATE DRUG_START_DATE
DISEASE_END_DATE DRUG_END_DATE
Я хочу написать запрос, который находит всех людей, у которых болезнь_ид 52, но не принимавших наркотики 34. Как мне это сделать? Я попробовал следующее в MySql:
SELECT p.person_id, p.gender, p.name, disease_id, drug_id
FROM person_t as p
INNER JOIN disease_t on disease_t.person_id = p.person_id
RIGHT OUTER JOIN drug_t on drug_t.person_id = p.person_id
WHERE disease_id= 52 AND drug_id != 34;
Это дает мне все записи, в которых человек не принимал drug_id 34, в отличие от людей, которые не принимали drug_id 34. Как мне написать запрос, который я хочу?