Я создал относительно простой запрос в MySQL, чтобы дать мне JOIN
на трех таблицах, основанных на именах, которые совпадают с именами и фамилиями. Оттуда я хотел написать еще один запрос, который бы только показал мне записи, что не получить соответствие с JOIN
- но я не мог понять, как это сделать. Я предполагаю, что это связано с использованием подзапроса с участием чего-то вроде NOT IN
и моего исходного запроса, но я не мог заставить его дать мне результаты, которые я хотел.Подзапрос, который показывает записи только там, где JOIN не работает
Это обходным я пытался придумать, что частично функционировала должным образом:
SELECT *,
if(t2.first=t1.first AND t2.last=t1.last, "Match", "No Match") AS "t2 Match",
if(t3.first=t1.first AND t3.last=t1.last, "Match", "No Match") AS "t3 Match"
FROM t1
LEFT JOIN t2 ON t2.first=t1.first AND t2.last=t1.last
LEFT JOIN t3 ON t3.first=t1.first AND t3.last=t1.last
WHERE if(t2.first=t1.first AND t2.last=t1.last, "Match", "No Match")="No Match"
OR if(t3.first=t1.first AND t3.last=t1.last, "Match", "No Match")="No Match";
Я чувствую, что это то, что это довольно простой и прямой вперед, но я не получаю правильный Результаты. Может ли кто-нибудь помочь?
Спасибо!
Подобно тому, как легко, как я ожидал! Но я как-то пропустил это. Благодаря! – Ryan