Sub Query

Status
Niet open voor verdere reacties.

R3CoN

Nieuwe gebruiker
Lid geworden
29 jan 2008
Berichten
1
Ik ben bezig met een database en nu zit ik een beetje vast, ik moet vanuit alle voorstellingen laten zien waarvan nog geen reservering is.

Nu is mijn subquery als volgt:

SELECT DISTINCT Titel, beginDatumTijd
FROM Uitvoering
WHERE BeginDatumTijd NOT IN ( SELECT BeginDatumTijd
FROM Bezetting )

Dit werkt bijna, alleen nu heb ik nog het probleem dat als er 2 voorstellingen op dezelfde begindatumtijd beginnen, en 1 hiervan maar een bezetting heeft. Dat hij ze beide dan niet weer geeft. Nu is het zo dat ik ook nog wel kan kijken op Titel in Bezetting, alleen hoe kan ik dan op beide onderdelen laten controleren, dus begindatumtijd en titel ?

Ik wil deze select statement per se doen met een subquery, zodat ik dat ook gewoon 100% begrijp.

Ik hoop dat ik een beetje duidelijk ben, zo niet roept u maar.

Ps. Is mijn eerste post hier, dus ik hoop dat ik het goed heb gedaan.

Edit:

Ondertussen dit nog geprobeert, maar dit werkt helaas ook niet:

SELECT DISTINCT Titel, beginDatumTijd
FROM Uitvoering
WHERE (Titel, BeginDatumTijd) NOT IN ( SELECT Titel, BeginDatumTijd
FROM Bezetting )

In mijn SQL boek staat dat ik dan gebruik moet maken van NOT EXISTS, maar dat werkt ook niet. En met een geconcateneerde kolomwaarde werkt het ook al niet.
 
Laatst bewerkt:
Het is een beetje afhankelijk van welk programma je gebruikt (oracle, mysql, iets anders), maar probeer dit eens:
PHP:
SELECT DISTINCT Titel
,      beginDatumTijd
FROM   Uitvoering u
WHERE  BeginDatumTijd NOT IN ( SELECT BeginDatumTijd
                               FROM   Bezetting b
                               WHERE  u.Titel = b.Titel )

Je geeft op deze manier aan dat bij de controle op "BeginDatumTijd" de Titel in de tabel Uitvoering overeen moet komen met de Titel in de tabel Bezetting.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan