我有一个mail
表,其中有四列:id
,userto
,userfrom
和message
。我想收到一个用户列表,这些用户已向用户“example”发送邮件,我想将其与用户“example”发送邮件的用户列表一起加入。但是,我不希望在此列表中有任何重复的用户名。
我该怎么做?我确定它与SELECT DISTINCT
和INNER JOIN
有关,但我不确定我会怎么做。
答案 0 :(得分:1)
我会选择UNION
。您的里程可能因您的RDBMS而异。
SELECT userto AS listuser
FROM mail
WHERE userfrom = 'example'
UNION
SELECT userfrom AS listuser
FROM mail
WHERE userto = 'example';
编辑:
您不需要在那里使用SELECT DISTINCT
,UNION
将从每个子查询中以及查询之间删除重复。