[英]PHP - MYSQL - Messages/Users table join issue
我正在使用MYSQL来显示特定表中的一些数据。但是我有一个小问题。
我正在尝试建立一些对话系统(出于我的学习目的)...
我查询“数据库名称消息”,其中有2列user_one和user_two。 当前登录的用户ID可以是eather user_one或用户2(此字段是用户的ID)...
所以我使用SELECT ... FROM table_name WHERE user_one = $ id OR user_two = $ id); 并且可以正确显示我当前登录的user_one或user_two用户的消息。 它工作正常...
但是,现在我需要知道如何加入表用户并仅选择“其他人”的用户名,而不是登录并在每个消息(例如“来自...的消息”)上显示它!
所以可以说我有以下几点:
用户表:
id username
--------------------------
1 username1
2 username2
消息表:
id title user_one user_two
--------------------------------------------
1 Title 1 2
2 Title2 2 1
因此,如果username1已登录,则当我输出消息时,我希望它输出:
Title From
-----------------------------------------
Title username2
Title2 username2
如果username2已登录,则提示:From:username1
所以我想始终显示第二名的用户名,而不是第二个人的身份。我定期加入表,但同时显示两个用户的用户名...
我做错了表结构还是该怎么做?
谢谢。
尝试这个
SELECT Messages.title As title ,Users.username as `FROM` FROM Users
INNER JOIN Messages
ON Messages.user_two = Users.id
OR Messages.user_one = Users.id
WHERE Users.username != 'username1'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.