【问题标题】:Get different set of data based on value on two tables根据两个表上的值获取不同的数据集
【发布时间】:2018-10-14 02:33:06
【问题描述】:
SELECT users.firstname,
users.lastname,
users.username,
users.image_url,
posts.status,
posts.created_at as created_at,
posts.updated_at as updated_at,
share.post_user_id as user_id,
posts.id,
share.message as message,
share.user_id as share_user_id
FROM `share` INNER JOIN `posts` ON share.post_id = posts.id 
INNER JOIN `users` ON users.id = share.user_id

因此,正如您在此处看到的,我根据 users.id = share.user_id 从表 users 中获取名字、姓氏和用户名。共享表是这样的:

分享

  • 消息

  • user_id

  • post_user_id

  • post_id

现在如何根据 users.id = share.post_user_id 获取名称集?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您只需要使用别名(例如 user2)对表用户进行另一个内部联接

        SELECT users.firstname,
        users.lastname,
        users.username,
        users.image_url,
        posts.status,
        posts.created_at as created_at,
        posts.updated_at as updated_at,
        share.post_user_id as user_id,
        posts.id,
        share.message as message,
        share.user_id as share_user_id,
        users2.firstname,
        users2.lastname,
        users2.username,
        FROM `share` 
        INNER JOIN `posts` ON share.post_id = posts.id 
        INNER JOIN `users` ON users.id = share.user_id
        INNER JOIN `users`  AS user2 ON users2.id = post_user_id.user_id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 2013-03-28
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      相关资源
      最近更新 更多