Avatar billede codem Nybegynder
14. december 2003 - 14:35 Der er 1 kommentar

Count, medtag også rækker hvor count er nul

Jeg skal tælle hvor mange svar der er givet i en afstemning. Jeg arbejder med 3 tabeller: En hvor svarmulighederne står, poll_answers, en hvor spørgsmålene står i, poll_questions, og en der logger svarene, poll_vote. Mit mål er at få et recordsæt med spørgsmålets svarmuligheder i den ene søjle og antallet af svar i den anden. Jeg vil gerne have en kombination af følgende to queries:

FØRSTE QUERY:
SELECT answer_id, count(answer_id) FROM poll_vote WHERE poll_id='2' GROUP BY answer_id

answer_id | count(answer_id)
----------------------------
4      | 1
5      | 1
(tæl stemmerne på de forskellige svar givet en afstemning (poll_id=2))


ANDEN QUERY:
SELECT poll_vote.answer_id, poll_answer.answer_text FROM poll_vote, poll_answer WHERE poll_vote.poll_id='2' AND poll_vote.answer_id=poll_answer.answer_id LIMIT 0, 30

answer_id | answer_text
-------------------------
4      | Ja
5      | Nej
(vælg id og tekst på de spørgsmål der er svaret på til en given afstemning (poll_id=2))

MIT EGET BUD på en sammensætning:

SELECT poll_vote.answer_id, poll_answer.answer_text, count(poll_vote.answer_id) FROM poll_vote, poll_answer WHERE poll_vote.poll_id='2' AND poll_vote.answer_id=poll_answer.answer_id GROUP BY poll_vote.answer_id LIMIT 0, 30

answer_id | answer_text | count(poll_vote.answer_id)
-----------------------------------
4      | Ja            | 1
5      | Nej     | 1

Problemet er nu, at der faktisk er et tredie svar ("måske") i tabellen poll_answer, men der er ingen der har svaret på denne mulighed.
Men jeg vil gerne have at svaret vises alligevel med "0" i countsøjlen. Sådan her:

answer_id | answer_text | count(poll_vote.answer_id)
-----------------------------------
4      | Ja            | 1
5      | Nej            | 1
6        | Måske      | 0

How to do?
Avatar billede codem Nybegynder
14. december 2003 - 15:45 #1
Ok, her er en lidt simplere version af spørgsmålet :)'

Der er to tabeller!

tbl_answers (to søjler):
answer_id | answer_text
------------------------
1        | ja
2        | nej
3        | måske

tbl_votes (en søjle):
answer_id
------
1
1
2
1

jeg ønsker følgende resultat:

---------------
ja    | 3
nej  | 1
måske | 0
---------------

How to do?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester