2012-10-19 9 views
7

Ich kann nicht für das Leben von mir herauszufinden, was mit dieser SQL-Anweisung falsch ist und warum es keine Ergebnisse produziert. Wenn ich das LEFT JOIN herausnehme funktioniert das, woran liegt es also?Nested SELECT-Anweisung mit LINKEN 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 

Würde die Hilfe sehr zu schätzen wissen.

Antwort

19

fügen Sie die item_id Spalte in der Unterabfrage (Ich garantiere, dass es funktionieren wird), so dass die ON Klausel r.item_id

SELECT item_id, avg(rating) as avg_rating 
FROM ratings 
GROUP BY item_id 
+6

Ah ja natürlich finden können, danke SQL Master John! Ich werde Ihre Antwort in 12 Minuten akzeptieren, wenn es mich lässt! – Wasim

Verwandte Themen