php – Mysql – 如何获取同一个表的两个外键列的数据

我的数据库中有两个表

>表:具有列的用户:id,用户名,电子邮件
>表:users_messages包含列:id,to,from,messages,sent_time

来往的列是来自users表的密钥用户.问题是我需要:
“从用户名和消息中选择所有用户”.

例如,如果表格行如下所示:

From, To,   Message
11,   14,   Hi, How are you
14,   11,   Hello,

如果11是约翰,14是标记,那么我需要输出如下:

From,   To,     Message
john,   mark,   Hi, How are you
mark,   john,   Hello,

使用我的查询,我只能从列或列获取用户名,但不能同时获取两者的用户名.如何执行向我和两个用户名提供的查询

以下查询给出了空结果:

SELECT  u.username, m.message, m.from, m.to  
FROM  `users_messages` m,  `users` u
where 
m.from = u.id and  m.to = u.id

LIMIT 0 , 30  

我尝试过其他查询,但无法获得所需的输出.我是否还需要自助加入消息表?

解决方法:

SELECT u1.username AS "sender", u2.username AS "recipient", m.message, m.from, m.to  
FROM `users_messages` m
LEFT JOIN `users` u1 ON (u1.id = m.from)
LEFT JOIN `users` u2 ON (u2.id = m.to)
WHERE m.from = XX OR m.to = XX

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...