我对基本邮件系统有以下查询。它会显示您发送的消息。但是,它显示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 = ?
答案 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 = ?