带LEFT JOIN的嵌套SELECT语句

Was*_*sim 9 php mysql sql left-join

我不能为我的生活弄清楚这个SQL语句有什么问题,以及为什么它没有产生任何结果.如果我拿出LEFT JOIN是有效的,那么它有什么问题呢?

SELECT  b.id, r.avg_rating
FROM    items AS b
LEFT JOIN
(
    SELECT avg(rating) as avg_rating
    FROM ratings 
    GROUP BY item_id
) AS r 
  ON b.id = r.item_id
WHERE b.creator = " . $user_id . " 
AND b.active = 1
AND b.deleted = 0
ORDER BY b.order ASC, b.added DESC
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助.

Joh*_*Woo 20

item_id 在子查询中添加列(我保证它将起作用),因此该ON子句可以找到r.item_id

SELECT item_id, avg(rating) as avg_rating
FROM ratings 
GROUP BY item_id
Run Code Online (Sandbox Code Playgroud)

  • 啊,当然是,谢谢SQL大师约翰!当它让我时,我会在12分钟内接受你的回答! (6认同)