无法从三个表进行SQL查询

时间:2017-03-31 12:33:42

标签: mysql sql

我无法为:

进行SQL查询

我有以下表格:

  1. 用户有两列,分别是: user_id user_name
  2. 群组,其中包含三列: id group_name created_date
  3. 记录,其中包含五列: id group_id user_id record_content record_type
  4. record_user ,其中包含三列: user_id record_id
  5. 现在我想要一个可以在所有4个表上执行的查询:

    选择user_id,user_name,group_id,record_content

    此表我还需要 - 基于user_id的每条记录的喜欢字段(这意味着该用户已通过身份验证)。

    我尝试获取当前正在阅读此消息(记录)的用户的每条记录的明确组和信息的所有消息(记录)。

1 个答案:

答案 0 :(得分:0)

请尝试以下方法......

SELECT User.user_id AS user_id,
       User.user_name AS user_name,
       Group.id AS group_id,
       Group.group_name AS gorup_name,
       Records.record_content AS record_content,
       record_user.liked AS liked
FROM User
JOIN Records ON User.user_id = Records.user_id
JOIN Group ON Group.id = Records.group_id
JOIN record_user.record_id ON Records.id
GROUP BY User.user_id,
         Group.id;

AS不是必需的,它们对于为输出字段提供更方便的名称非常有用。你可以随意改变它们。

有关JOIN的更多信息,请参阅https://www.w3schools.com/sql/sql_join.asp - 查找维恩图并阅读说明。

可能不需要GROUP BY子句,但您没有解释如何对输出进行排序和分组,因此我选择了这些作为建议。

注意:如果您向我们提供样本数据和所需的输出,将来会有所帮助。

如果您有任何问题或意见,请随时发表评论。