Okay, ik heb een probleempje met een MySQL-query.
Ik heb tabellen polls, poptions, pvotes. Nu wil ik een query maken die voor een bepaalde poll alle opties en het aantal votes voor die optie ophaalt. Ik bedacht het volgende, maar dat werkt niet:
SELECT pl.title, po.id, po.txt, pv.user, pv.poll, pv.vote, COUNT(pv.vote) AS votes FROM polls pl, poptions po LEFT JOIN pvotes pv ON pv.vote = po.id WHERE pl.id = po.poll GROUP BY pv.vote
Waarom het niet werkt: als binnen een poll op meerdere opties nog niet gestemd is, geeft pv.vote voor al die opties NULL terug, waardoor de verschillende opties worden samengenomen door de GROUP BY clause. Da's niet zo mooi, want ik wil toch echt in alle gevallen alle opties laten zien (ook als op sommige opties nog niet gestemd is).
Nu kan ik dit waarschijnlijk wel oplossen met een subquery, maar weet iemand wellicht een betere oplossing? Ik gebruik MySQL 4.1.
Ik heb tabellen polls, poptions, pvotes. Nu wil ik een query maken die voor een bepaalde poll alle opties en het aantal votes voor die optie ophaalt. Ik bedacht het volgende, maar dat werkt niet:
SELECT pl.title, po.id, po.txt, pv.user, pv.poll, pv.vote, COUNT(pv.vote) AS votes FROM polls pl, poptions po LEFT JOIN pvotes pv ON pv.vote = po.id WHERE pl.id = po.poll GROUP BY pv.vote
Waarom het niet werkt: als binnen een poll op meerdere opties nog niet gestemd is, geeft pv.vote voor al die opties NULL terug, waardoor de verschillende opties worden samengenomen door de GROUP BY clause. Da's niet zo mooi, want ik wil toch echt in alle gevallen alle opties laten zien (ook als op sommige opties nog niet gestemd is).
Nu kan ik dit waarschijnlijk wel oplossen met een subquery, maar weet iemand wellicht een betere oplossing? Ik gebruik MySQL 4.1.
Rustacean