引用内部联接查询

时间:2013-06-17 18:32:44

标签: mysql

我对基本邮件系统有以下查询。它会显示您发送的消息。但是,它显示sender_id引用的帐户的first_name和second_name。相反,我希望它输出receiver_id

引用的名称列

ie)SELECT first_name,second_name WHERE accounts.account_id = messages.receiver_id

我是否需要为此编写单独的查询,还是可以在单个查询中将其输出?我一直在努力思考这个问题!

SELECT first_name, second_name, message_id, title, body, seen, urgent, type, messages.timestamp 
FROM messages 
INNER JOIN accounts 
ON messages.sender_id=accounts.account_id 
WHERE sender_id = ?

1 个答案:

答案 0 :(得分:1)

您可以使用两个连接执行此操作:

SELECT s.first_name as sender_first, s.second_name as sender_last,
       r.first_name as rec_first, r.second_name as rec_last,
       m.message_id, m.title, m.body, m.seen, m.urgent, m.type, m.timestamp 
FROM messages m inner join
     accounts s
     ON m.sender_id = s.account_id inner join
     accounts r
     on m.receiver_id = r.account_id
WHERE m.sender_id = ?