我有一个表格 tbl_mail ,结构如下:
tbl_mail
____________
mail_from_user_id
mail_to_user_id
我想找到与我曾经交谈的所有人。我可以给他们写信或者写信给我,我需要知道对手的身份证号码。假设我有1号身份。
tbl_mail
___________
mail_from_user_id | mail_to_user_id
------------------------------------
1 | 2
1 | 3
4 | 1
在上面的例子中,我写信给2个不同的人(id`s - 2& 3),另一个人写信给我(4号)。 我怎样才能找到我与之互动的所有人(除了我自己)。
答案 0 :(得分:2)
使用:
SELECT a.mail_from_user_id AS user
FROM TBL_MAIL a
WHERE a.mail_to_user_id = 1
UNION
SELECT b.mail_to_user_id AS user
FROM TBL_MAIL b
WHERE b.mail_from_user_id = 1
UNION
将删除重复项。 UNION ALL
不会,并且会更快。
答案 1 :(得分:0)
select mail_to_user_id as mailid from tbl_mail where mail_from_user_id=1
union
select mail_from_user_id as mailid from tbl_mail where mail_to_user_id=1
其中1是你的身份证。将其替换为所需的ID。
答案 2 :(得分:0)
快速入侵:
从中选择idx (从mail_from_user_id中选择mail_from_user_id作为idx,其中mail_to_user_id = 1 group by mail_from_user_id 联盟 从tbl_mail中选择mail_to_user_id作为idx,其中mail_from_user_id = 1 group by mail_to_user_id) 按idx分组