我正在使用MYSQL来显示特定表格中的一些数据...但是我的问题很小..
我正在尝试构建一些会话系统(为了我的学习目的)......
我查询“数据库名称消息”,其中有2列,user_one和user_two。当前登录的用户ID可以是user_one或user two(此字段是用户的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
所以我想显示From username始终是第二个人,没有登录一个...我定期加入表格,但它显示我用户名用户...
我的桌面结构是错误的还是我该怎么做?
感谢。
答案 0 :(得分:0)
试试这个
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'