Selecteer records die niet bestaan in andere tabel

Status
Niet open voor verdere reacties.

s5057285

Gebruiker
Lid geworden
16 mrt 2010
Berichten
104
Beste

In de tabel kalenderitem zit een hele resem aan datums. In de tabel zwemmersaantal ook.
De bedoeling is een resultaat te krijgen zodat ik weet welke datums van kalenderitem nog niet in de tabel zwemmersaantal zitten.

Ik dacht eigenlijk aan zo'n query maar die geeft maar één record terug.
[SQL]
SELECT ki.id, ki.datum
FROM school s INNER JOIN klas k
ON k.schoolId = s.id
INNER JOIN klasreservatie kr
ON kr.id = k.id
INNER JOIN kalenderitem ki
ON ki.id = kr.kalenderitemId
WHERE NOT EXISTS
(SELECT *
FROM zwemmersaantal z
WHERE z.datum = ki.datum)
AND k.id = 11
[/SQL]
 
[SQL]SELECT ki.id, ki.datum
FROM school s INNER JOIN klas k
ON k.schoolId = s.id
INNER JOIN klasreservatie kr
ON kr.id = k.id
INNER JOIN kalenderitem ki
ON ki.id = kr.kalenderitemId
WHERE ki.datum NOT IN
(SELECT z.datum FROM zwemmersaantal z)
AND k.id = 11[/SQL]


Gokje... :) Weet niet zeker of het werkt
 
Inderdaad.

Of SELECT DISTINCT en EXCEPT

[SQL]
SELECT DISTINCT
ki.datum
FROM school s
INNER JOIN klas k ON k.schoolId = s.id
INNER JOIN klasreservatie kr ON kr.id = k.id
INNER JOIN kalenderitem ki ON ki.id = kr.kalenderitemId
EXCEPT
SELECT DISTINCT
z.datum
FROM zwemmersaantal z
[/SQL]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan