Toon posts:

[SQL] COUNT functie werkt niet zonder hulpquery

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Ik zit met een SQL query waar ik gewoon niet uit kom. Op zich is de code wat mij betreft goed alleen laat hij een verkeerde uitkomst zien (5) terwijl dat (3) moet zijn.

Ik wil graag het aantal spelers die bestuuslid zijn geweest en die nooit een boete hebben gehad.
Ik doe dat met de volgende code:

code:
1
2
3
4
5
6
7
8
SELECT COUNT (SpelersNr)
FROM BESTUURSLEDEN
WHERE SpelersNr NOT IN
             (SELECT  DISTINCT (SpelersNr)
              FROM BESTUURSLEDEN
             WHERE SpelersNr  NOT IN
                             (SELECT DISTINCT(SpelersNr)
                              FROM BOETES));


In eerste instantie had ik het met behulp van een hullpquery opgelost. Maar ik wil het graag in 1 query hebben.
Met hulpquery was het als volgt:

code:
1
2
3
4
5
6
SELECT DISTINCT SpelersNr AS Aantal
FROM Bestuursleden
WHERE (( (Bestuursleden.SpelersNr) Not In (SELECT DISTINCT SpelersNr FROM Boetes)));

SELECT COUNT(Aantal) AS Totaal
FROM Query2;

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:56
Waarom doe je het in eeerste instantie al niet zo:
code:
1
2
3
select count (spelersnr)
from bestuursleden
where spelersnr not in ( select spelersnr from boetes)

:?

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
of zo

code:
1
2
3
4
select count(spelersnr)
from bestuursleden bl
left outer join boetes bo on bl.spelersnr = bo.spelersnr
where bo.spelersnr is null

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Pascal Saul
  • Registratie: Augustus 2001
  • Laatst online: 07-07-2025
Dit is het juiste antwoord:

code:
1
2
3
4
SELECT COUNT(SpelersNr)
FROM SPELERS
WHERE SpelersNr NOT IN (SELECT SpelersNr FROM BOETES)
AND SpelersNr In (SELECT SpelersNr FROM BESTUURSLEDEN)

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
DarkRider schreef op 18 maart 2004 @ 14:59:
Dit is het juiste antwoord:

code:
1
2
3
4
SELECT COUNT(SpelersNr)
FROM SPELERS
WHERE SpelersNr NOT IN (SELECT SpelersNr FROM BOETES)
AND SpelersNr In (SELECT SpelersNr FROM BESTUURSLEDEN)
:? Hoe kom je daar nu bij?

2 goede antwoorden zijn al gegeven. Jij verzint gewoon nieuwe tabellen :)

Oops! Google Chrome could not find www.rijks%20museum.nl


  • feej
  • Registratie: Maart 2002
  • Laatst online: 18-02 09:25

feej

giraffemeisje

P_de_B schreef op 18 maart 2004 @ 15:25:
[...]


:? Hoe kom je daar nu bij?

2 goede antwoorden zijn al gegeven. Jij verzint gewoon nieuwe tabellen :)
Ik ken de opgave :) en dit is het antwoord van 4A :P

DarkRider @ fee-tje PC :X

[ Voor 6% gewijzigd door feej op 18-03-2004 16:24 ]

Everything is awesome!
Everything is cool when you're part of a team.
Everything is awesome when we're living our dream.
O+


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Ja, da's lekker :)

Ik denk al, ik zie helemaal geen spelers tabel.

Trouwens, de antwoorden die whoami en ik hebben gegeven zijn beter als je het mij vraagt. Beide gebruiken de spelerstabel niet, die heb je ook niet nodig als je alleen een count wilt hebben.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Pascal Saul
  • Registratie: Augustus 2001
  • Laatst online: 07-07-2025
Dat is waar :) maar de opgave was like zo:

Geef het aantal spelers die bestuurslid zijn (geweest), en die nooit een boete hebben gehad.

En we hebben vandaag pas OUTER JOIN en LEFT JOIN en RIGHT JOIN gehad dus die konden we nog niet gebruiken :P
Pagina: 1