Ik ben op zoek naar een SQL-SELECT Statement waarbij alle kamernummers weergegeven moeten worden die NIET gereserveerd zijn op 26-05-2003.
Ik kwam op de volgende:
Nu geeft hij dus als uitkomst kamernummer 4, 5 en nog een keer 4. Terwijl nummer 1, 6, 7, 8, 9 en 10 ook kamers zijn die niet gereserveerd zijn op 26-05-2003. Deze komen alleen niet voor in de tabel reserveringen omdat ze nog nooit gereserveerd zijn. Daarnaast geeft hij nu kamer 4 dubbel weer, terwijl deze maar één keer bestaat. Hij doet dus blijkbaar weinig met de tabel 'Kamers'.
Databasestructuur:
Tabel Reserveringen
Begindatum ---------------- Kamernummer
26-05-2003 ---------------- 2
26-05-2003 ---------------- 3
27-05-2003 ---------------- 4
28-05-2003 ---------------- 5
03-06-2003 ---------------- 4
Tabel Kamers
Kamernummer
1
2
3
4
5
6
7
8
9
10
Waar ga ik de fout in? Wat is het juiste SQL-statement?
(Ik had dit al via een reply in een ander topic gevraagd, ik denk dat het hier meer op zijn plaats is. Waarschijnlijk krijg ik hier ook meer reacties.)
Ik kwam op de volgende:
code:
1
2
3
| SELECT K.Kamernummer FROM Kamers AS K, Reserveringen AS R WHERE K.Kamernummer = R.Kamernummer AND R.Begindatum <> '26-05-2003'; |
Nu geeft hij dus als uitkomst kamernummer 4, 5 en nog een keer 4. Terwijl nummer 1, 6, 7, 8, 9 en 10 ook kamers zijn die niet gereserveerd zijn op 26-05-2003. Deze komen alleen niet voor in de tabel reserveringen omdat ze nog nooit gereserveerd zijn. Daarnaast geeft hij nu kamer 4 dubbel weer, terwijl deze maar één keer bestaat. Hij doet dus blijkbaar weinig met de tabel 'Kamers'.
Databasestructuur:
Tabel Reserveringen
Begindatum ---------------- Kamernummer
26-05-2003 ---------------- 2
26-05-2003 ---------------- 3
27-05-2003 ---------------- 4
28-05-2003 ---------------- 5
03-06-2003 ---------------- 4
Tabel Kamers
Kamernummer
1
2
3
4
5
6
7
8
9
10
Waar ga ik de fout in? Wat is het juiste SQL-statement?
(Ik had dit al via een reply in een ander topic gevraagd, ik denk dat het hier meer op zijn plaats is. Waarschijnlijk krijg ik hier ook meer reacties.)