sql三表查询

今天突然遇到的一个小盲区

有三张表:

report表有举报者的userid,举报帖子的postid
post有postid,帖子作者userid
user_info有userid和username

想要查出举报者的id和名字,举报帖子作者的id和名字就是查不出来,大佬指点了下悟了

代码如下:

SELECT
r.report_id,
r.report_user,  //这个是举报者的userid
u1.user_name AS reporter,
r.post_id,
p.user_id,  //这个是帖子作者userid
u2.user_name AS author,
FROM
report r
JOIN post p ON r.post_id= p.post_id
JOIN user_info u1 ON r.report_user= u1.user_id
JOIN user_info u2 ON u2.user_id = p.user_id

 

原本我以为ON后只能写FROM后那个表的列,就没写最后一行,而且确定所有列都不为空的话就不用LEFT JOIN直接用JOIN

 

posted @ 2022-02-11 14:28  newError();  阅读(120)  评论(0)    收藏  举报