2012-10-19 19 views
7

के साथ नेस्टेड चयन कथन मैं इस जीवन के बारे में नहीं समझ सकता कि इस SQL ​​कथन के साथ क्या गलत है और यह किसी भी परिणाम का उत्पादन क्यों नहीं कर रहा है। यदि मैं बाएं जॉइन लेता हूं तो काम करता है, तो इसमें क्या गलत है?बाएं जॉइन

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 

सहायता की बहुत सराहना करेंगे।

उत्तर

19

अपने सबक्वेरी में item_id स्तंभ जोड़ने (मैं गारंटी है कि यह काम करेंगे) तो ON खंड r.item_id

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

निश्चित रूप से आह हाँ पा सकते हैं, आप एसक्यूएल गुरु जॉन धन्यवाद! जब मैं इसे देता हूं तो मैं 12 मिनट में आपका जवाब स्वीकार करूंगा! – Wasim