SaschMedlem sedan nov. 2002830 inlägg Hej!
Sitter och meckar med en omröstning och jobbar mot mySQL. Har dock fastnat och verkar inte komma frammåt när det kommer till att visa resultatet;
tbl_poll
ID
Question - Frågan
Active - Hurvida omöstningen går att rösta i (1/0)
tbl_pollanswers ( votes )
uID -> tbl_user.id
qID -> tbl_poll.id
aID -> tbl_pollalternative.id
tbl_pollalternative
ID
qID
Name
SELECT Name, poll.Question
FROM pollalternative JOIN poll
ON (pollalternative.qID = poll.ID)
WHERE poll.Active = 1
SQL-frågan genererar en fråga + alla alternativ till den. Jag har dock ingen aning om hur jag ska få in tbl_pollanswer samt räkna ut summan av all röster på frågan, samt alla röster på varje enskilt alternativ. Jag vill ogärna behöva loopa ut varje alternativ och ge dom var sin separata SQL-sats för att sedan göra en server-side uträkning.
Är det möjligtvis någon som har lite hjälp att bidra med?
SaschMedlem sedan nov. 2002830 inlägg Jag har funderat lite och uppdaterat Queryn till följande:
Det ger fortarande inte tillfredsställande resultat dock.
SELECT Name, poll.Question, COUNT(qID) as SubTot
FROM pollalternative JOIN poll
ON (pollalternative.qID = poll.ID) JOIN pollanswer
ON (pollalternative.qID = pollanswer.qID)
WHERE poll.Active = 1
GROUP BY pollalternative.qID, pollalternative.uID
Skriv ut hur tabellerna ser ut, exempel på hur datat ser ut, och hur resultatet ska se ut så kan jag nog hjälpa dig
aasahMedlem sedan mars 20034 471 inlägg Vad är det du vill ha ut? Alla frågor, deras alternativ samt hur många som valt dessa? I så fall:
SELECT
P.Question,
A.Name,
COUNT(DISTINCT C.uid) -- Givet att varje person har en röst, annars COUNT(C.uid)
FROM
tbl_poll P
INNER JOIN tbl_pollalternative A ON
P.ID = A.qID -- Detta är samma ID (polls)
LEFT JOIN tbl_pollanswers C ON -- Choices folk har gjort
A.ID = C.aID AND -- Detta är samma ID (alternativens)
P.ID = C.qID -- Detta är samma ID (polls)
WHERE
P.Active = 1