Фильтр Левого Соединения Уникальное Значение

#mysql #join

Вопрос:

У меня есть две таблицы, и мне нужно выбрать только уникальное значение из левого соединения. Это код, с помощью которого я тестировал.

Первая таблица — ответ (Имя поля — src)

Вторая таблица — без ответа (Имя поля — src2)

 SELECT DISTINCT src2 
FROM answerd 
RIGHT noanswered ON answerd.src = noanswered.src2 
WHERE answerd.src IS Not NULL;
 

введите описание изображения здесь

Комментарии:

1. Я не уверен, что понимаю, что вы пытаетесь сделать. У вас есть таблица вопросов, на которые даны ответы и на которые нет ответов. Как у таких таблиц вообще может быть пересечение? Что плохого в простом выборе уникальных строк из answered таблицы?

Ответ №1:

 SELECT DISTINCT *
FROM answered
WHERE NOT EXISTS ( SELECT NULL
                   FROM noanswered 
                   WHERE answered.src = noanswered.src2 );