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

更多相关文章

  1. PHP:如果用户没有按下提交按钮,则Mysql回滚多个查询(通过ajax完成)
  2. Zend数据库适配器-未捕获异常-堆栈跟踪显示用户名和密码
  3. Oracle相当于MySQL代码“插入虚拟”以返回错误消息
  4. 在MySQL数据库中存储无法访问的用户
  5. init-connectMysql对用户操作加审计功能
  6. mysql user表root 用户修改权限后出现无法访问数据库的解决方法
  7. Linux下修改MySQL初始密码、开启远程登录、授权远程登录用户
  8. 保存在Java桌面应用程序应用程序和网站上使用的个人用户设置的最
  9. MYSQL错误代码和消息

随机推荐

  1. 浅谈 基础回顾 核心架构设计
  2. 关于foreach循环的实例用法汇总
  3. 服务框架的10篇内容推荐
  4. 右值引用如何使用?总结右值引用实例用法
  5. 异常设计函数定义与用法汇总
  6. 有关装箱的文章推荐10篇
  7. 有关经典实例的文章推荐10篇
  8. 详细介绍MvcPager分页控件使用的实例方法
  9. .NET应用函数定义与用法汇总
  10. SignalR实现实时Web聊天的实例代码