使用JOIN获取有关两个用户的信息
I got a problem. I am making a Private messages system now, and I need to get user and his rank info to print it on screen. So I do JOIN
我遇到了问题。我现在正在建立一个私人消息系统,我需要获得用户和他的排名信息,以便在屏幕上打印它。所以我加入了
SELECT
private_messages.from as `from`,
private_messages.to as `to`,
private_messages.theme as `theme`,
private_messages.date as `date`,
private_messages.message as `message`,
users.username as `username`,
users.id as `user_id`,
private_messages.id as `pm_id`,
ranks.style as `style`,
ranks.rank_name as `rank_name`
FROM `private_messages`
LEFT JOIN `users` ON private_messages.from = users.id
LEFT JOIN `ranks` ON users.rank = ranks.id
WHERE private_messages.id=? LIMIT 1
But the problem is that I get only info about user 'from' (who sended a message) and dont get rank and other things about user 'to' (who received a message) and I need his info too and don't know what to do, can anyone help me? :)
但问题是,我只获得有关用户'来自'(谁发送了一条消息)的信息,并且没有得到关于用户'到'(谁收到消息)的等级和其他事情,我也需要他的信息而且不知道是什么要做,谁能帮帮我? :)
1 个解决方案
#1
1
If you want infor about two user you must join two time the table user one for user_from an one for user_to ...
如果你想要关于两个用户,你必须加入两次表用户一个user_from一个用户user_to ...
this is just a suggestion for getting info for two users
这只是获取两个用户信息的建议
SELECT
private_messages.from as `from`,
private_messages.to as `to`,
private_messages.theme as `theme`,
private_messages.date as `date`,
private_messages.message as `message`,
users.username as `username`,
users_to.username as `username_to`
users.id as `user_id`,
private_messages.id as `pm_id`,
ranks.style as `style`,
ranks.rank_name as `rank_name`
FROM `private_messages`
INNER JOIN `users` ON private_messages.from = users.id
INNER JOIN `users` as user_to ON private_messages.to = users.id
LEFT JOIN `ranks` ON users.rank = ranks.id
WHERE private_messages.id=? LIMIT 1
更多相关文章
- PHP:如果用户没有按下提交按钮,则Mysql回滚多个查询(通过ajax完成)
- Zend数据库适配器-未捕获异常-堆栈跟踪显示用户名和密码
- Oracle相当于MySQL代码“插入虚拟”以返回错误消息
- 在MySQL数据库中存储无法访问的用户
- init-connectMysql对用户操作加审计功能
- mysql user表root 用户修改权限后出现无法访问数据库的解决方法
- Linux下修改MySQL初始密码、开启远程登录、授权远程登录用户
- 保存在Java桌面应用程序应用程序和网站上使用的个人用户设置的最
- MYSQL错误代码和消息