Uit een wedstrijdtabel en opstellingen tabel wil ik kunnen halen tegen hoeveel verschillende tegenstanders een speler heeft gespeeld. Beide tabellen zijn gekoppeld door een wid (wedstrijd_id)


SELECT o.speler,w.tegenstander FROM opstelling o,wedstrijden w
where o.wid=w.wid

group by o.speler,w.tegenstander
order by o.speler

Dit geeft als resultaat;

Speler_id Tegenstander_id
1 42
2 4
2 12
2 13
2 18
2 70
3 4
3 13
3 18

Wat ik als resultaat uiteindelijk wil is;
Speler_id Aantal verschillende
1 1
2 5
3 3
[code]
SELECT o.speler,count(w.tegenstander)
FROM opstelling o,wedstrijden w
WHERE o.wid=w.wid
GROUP BY o.speler
ORDER BY o.speler[code]
Helaas. Dit geeft als resultaat het aantal wedstrijden die een speler heeft gespeeld.

Speler_id Aantal verschillende
1 1
2 11
3 3
DISTINCT toevoegen helpt dan denk ik wel:

SELECT o.speler,count(DISTINCT w.tegenstander)
FROM opstelling o,wedstrijden w
WHERE o.wid=w.wid
GROUP BY o.speler
ORDER BY o.speler 
@Erwin H Thx! Dit is wat ik zocht.

Reageren