2015-04-17 2 views
0

у меня есть mail стол с четырьмя колоннами: id, userto, userfrom и message. Я хочу получить список пользователей, которые отправили почту пользователю «example», и я хочу присоединиться к нему со списком пользователей, к которым пользователь «пример» отправил почту. Однако я не хочу повторять имена пользователей в этом списке.Выбор различных значений из нескольких столбцов

Как мне это сделать? Я уверен, что это как-то связано с SELECT DISTINCT и INNER JOIN, но я не уверен, как бы я это сделал.

ответ

1

Я бы пошел с UNION. Ваш пробег может варьироваться в зависимости от вашей РСУБД.

SELECT userto AS listuser 
FROM mail 
WHERE userfrom = 'example' 
UNION 
SELECT userfrom AS listuser 
FROM mail 
WHERE userto = 'example'; 

Edit: Вам не нужно использовать SELECT DISTINCT там, UNION избавится от повторения внутри каждого подзапроса, а также между запросами.

+1

это избавляет от необходимости использовать значения – deW1

Смежные вопросы