douqie1816 2016-04-22 17:45
浏览 55
已采纳

使用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条回答 默认 最新

  • doudi4621 2016-04-22 17:57
    关注

    If you want infor about two user you must join two time the table user one for user_from an one for 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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行