我有两张表格如下:
用户
消息
FROMUSER
和TOUSER
在“用户”表中具有对ID的外键引用。
现在,我想检索使用用户电子邮件地址对用户进行加入的消息,如下所示
| ID | Message | FROMEMAIL | TOEMAIL |
我可以写一个如下查询。
SELECT Step1.*,
users.email as ToUser
FROM (SELECT messages.*,
users.email as fromuser
FROM messages
JOIN users on messages.fromuser = users.ID) as Step1
JOIN users on step1.touser = users.ID
有没有简单的方法我可以在没有子查询的情况下实现这个目标?
答案 0 :(得分:12)
只需加入Users表两次:
SELECT Message, uf.Email AS FromEmail, ut.Email AS ToEmail
FROM Messages
JOIN Users uf ON Messages.FromUser = uf.Id
JOIN Users ut ON Messages.ToUser = ut.Id