【问题标题】:Inner join column twice with different values内部连接列两次具有不同的值
【发布时间】:2015-12-17 20:47:11
【问题描述】:

我是数据库设计的新手,所以如果这是一个低效的设计,请告诉我。这是我在这里的第一篇文章,如果您对如何更好地描述它有任何建议,我将不胜感激。

情况如下:

  • 用户注册并能够查看其他用户
  • 我有一个“用户”表
  • 我有一个表格“评论”

评论表有以下列:

  • 评论ID
  • 用户ID(写评论的人)
  • 评论:文本中的实际评论
  • Reviewed_User_ID:被审核的人的用户 ID

我的问题是:我将如何创建一个显示列的联接:Users.First_name、Review.review、被审查人的名字

然后它将显示为:名称 - 写了关于 - 名称的评论。而不是 Name - 写了关于 - UserID 的评论

内部连接如下:

SELECT users.first_name, review.review, review.reviewed_user_id
FROM users
INNER JOIN review ON users.user_id = review.user_ID

将向我显示reviewed_user_id,但我也想添加该人的名字。这甚至可能吗?

非常感谢您的任何帮助或建议!

【问题讨论】:

  • 当您需要对同一个表多次JOIN - 只需使用不同的表别名。

标签: mysql


【解决方案1】:

请尝试使用类似的东西

SELECT users.first_name
,      review.review
,      review.reviewed_user_id
,      reviewed_user.first_name
FROM   users
       INNER JOIN review ON users.user_id = review.user_ID
       INNER JOIN users reviewed_user ON review.reviewed_user_id = reviewed_user.user_id

在这种情况下,我们通过字段reviewed_user_id 和别名reviewed_user 将表review 中的其他连接添加到表users

【讨论】:

  • 非常感谢 MegaTron。这回答了我的问题,你教会了我一些新东西!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 2015-06-07
  • 2019-03-19
  • 1970-01-01
  • 1970-01-01
  • 2014-07-17
相关资源
最近更新 更多