Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mySQL korrelierte Unterabfrage

Sie versuchen, auf Item.idItem zuzugreifen innerhalb der Unterabfrage, ist dort aber nicht verfügbar. Sie sollten so etwas verwenden:

SELECT 
    Item.idDish, 
    Item.dateAdded, 
    Item.dateModified, 
    Item.fidLocation, 
    Item.category, 
    Item.description, 
    Item.price, 
    Item.name, 
    Item.fullImageName, 
    Item.thumbnailImageName, 
    sub.rating
FROM Item 
JOIN 
(
    SELECT fidItem, AVG(ItemReview.rating) AS rating 
    FROM ItemReview 
    GROUP BY ItemReview.fidItem
) AS sub
   ON sub.fidItem = Item.idItem
WHERE Item.fidLocation = '63';