繁体   English   中英

具有4个表的SQL查询JOIN

[英]SQL Query JOIN with 4 tables

谁能帮我?

我有4个表格的帖子用户用户详细信息评论

这是结构:

帖子

  • ID
  • 标题
  • 描述

用户

  • ID
  • 用户名
  • 密码

users_details

  • ID
  • 用户身份
  • 头像
  • 位置

评论

  • ID
  • POST_ID
  • 用户身份
  • 评论
  • 发布

我有一个查询,要在特定帖子上显示评论。

这是我写的,但是头像列中没有显示任何结果。 看来我在连接或其他方面写错了。

SELECT comments.id as comment_id,
    comments.user_id as user_id,
    comments.post_id as post_id,
    comments.parent as parent,
    comments.comment as comment,
    comments.posted as posted,
    users_details.avatar as avatar,
    users.username as username
FROM `comments`
    LEFT JOIN users ON users.id = comments.user_id
    LEFT JOIN users_details ON users_details.user_id = users.id
    WHERE comments.post_id='60337'
ORDER BY posted ASC

这是带有结果的表格的屏幕快照https://i.imgur.com/VQ8KwV1.png

我要提及的头像字段在users_details表中具有该用户的值,因此应显示...

谢谢!

我可以说出导致此问题的两个潜在原因。

1.用户没有头像。

试试: Select Avatar from Users_Details where User_Id in (2,9212)并确保它返回一些数据。

2.用于联接表的主/外键不匹配

在下面运行这些查询,并确保它们返回相同的用户。

select * from users where id in (2,9212) 
select * from users_details where user_id in (2,2912) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM