この 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
大変助かります。