Sorry voor de vage topic titel maar ik kon weinig anders verzinnen.
Stel ik heb 3 tabellen:
PRODUCTEN:
ID
Naam
ARTIKELEN
ID
ProductID
Naam
RATING
ID
ArtikelID
Cijfer
Nu wil ik 1 query maken waarin ik tel hoeveel artikelen er in een product zit én de gemiddelde rating, bij de overzicht van producten:
Maar ik krijg er eigenlijk niks uit. Ik denk dat het komt omdat ik meerdere rijen uit de join van rating krijg die niet allemaal bij de AVG worden opgeteld?
Ik wil namelijk graag kunnen sorteren op de gemiddelde rating.
Ik heb het ook geprobeerd met een subquery maar daar kom je op hetzelfde probleem uit.
Iemand die een zetje heeft?
Stel ik heb 3 tabellen:
PRODUCTEN:
ID
Naam
ARTIKELEN
ID
ProductID
Naam
RATING
ID
ArtikelID
Cijfer
Nu wil ik 1 query maken waarin ik tel hoeveel artikelen er in een product zit én de gemiddelde rating, bij de overzicht van producten:
code:
1
2
3
4
5
| SELECT producten.naam, COUNT(artikelen.id), AVG(rating.cijfer) FROM producten LEFT JOIN artikelen ON artikelen.productid = producten.id LEFT JOIN rating ON rating.artikelid = artikelen.id GROUP BY artikelen.id, rating.artikelid, producten.naam |
Maar ik krijg er eigenlijk niks uit. Ik denk dat het komt omdat ik meerdere rijen uit de join van rating krijg die niet allemaal bij de AVG worden opgeteld?
Ik wil namelijk graag kunnen sorteren op de gemiddelde rating.
Ik heb het ook geprobeerd met een subquery maar daar kom je op hetzelfde probleem uit.
Iemand die een zetje heeft?
[ Voor 9% gewijzigd door Megamind op 17-06-2007 17:13 ]