Avatar billede milo Nybegynder
08. december 2005 - 14:46 Der er 2 kommentarer og
1 løsning

få alle rækker

SELECT
        p.*, COUNT(a.question_id) AS answerNum
    FROM
        bg_participants AS p
    LEFT JOIN
        bg_answers AS a
    ON
        p.participant_id = a.participant_id
    LEFT JOIN
        bg_questions AS q
    ON
        a.question_id = q.question_id
    AND
        a.answer = q.question_correct_answer
    WHERE
        q.question_quarter = ".intval($_GET["q"])."
    GROUP BY
        p.participant_id


Denne query henter alle participants og sammenligner deres answer med correct_answer og tæller dem. Det virker fint, men problemet er at jeg IKKE får dem med, som ikke har svaret korrekt på nogle spørgsmål.

Hvordan får jeg disse med?
Avatar billede tjp Mester
08. december 2005 - 15:06 #1
Det var vel heller ikke meningen, når du har linjen:

AND
  a.answer = q.question_correct_answer

Hvad får du hvis du fjerner denne?
Avatar billede Slettet bruger
09. december 2005 - 17:27 #2
Virker det ikke som ønsket, hvis du laver den anden LEFT JOIN om til en LEFT OUTER JOIN
Avatar billede milo Nybegynder
20. maj 2006 - 10:49 #3
Lukker.
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