如何从不同的表中获取发件人和收件人名称

时间:2015-05-09 12:35:44

标签: php sql

我试图为PHP创建一个简单的Message类。我的messages表结构如下:

id, sender_id, receiver_id, msg, date

我想从users表中获取发件人和收件人用户名。我怎么能在一个查询中做到这一点?

我期望的输出示例:

sender, sender_id, receiver, receiver_id, msg, date

1 个答案:

答案 0 :(得分:4)

您必须与用户两次加入消息才能获得所需的结果。尝试以下查询:

select distinct sender.username as senderName, sender.user_id as sender_id,
                receiver.username as receiverName, receiver.user_id as receiver_id, 
                msg.msg_body, msg.date 
from messages msg inner join users sender on msg.sender_id = sender.id
                  inner join users receiver on msg.receiver_id = receiver.id