0

我对基本消息传递系统有以下查询。它显示您已发送的消息。但是,它显示了 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 = ?
4

1 回答 1

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 = ?
于 2013-06-17T18:37:24.060 回答