Hallo Ihr,
ich bin am verzweifeln. Folgendes Problem:
Ich habe eine Tabelle Objekte und eine Tabelle Buchungen. Dazu soll folgende Abfrage in Worten erfolgen:
1.)Gebe mir objekt_id aus der Tabelle Objekte
2.)ziehe davon (schließe aus) die objekt_id die in der Tabelle Buchung (für einen bestimmten Zeitraum) stehen.
Folgende Abfrgae hab ich mir da überlegt:
SELECT * FROM objekte WHERE objekt_id NOT IN(
SELECT DISTINCT R1.objekt_id
FROM belegung AS R1, objekte AS R2
WHERE (
(
(
(
(
von <= '2006-01-30'
)
AND (
bis >= '2006-01-30'
)
)
OR (
(
von <= '2006-02-04'
)
AND (
bis >= '2006-02-04'
)
)
)
AND (
R1.objekt_id = R2.objekt_id
)
)
OR (
R2.personen <= '11'
)
))
LIMIT 0 , 30
es kommt folgende Fehlermeldung:
#1064 - Fehler in der Syntax bei 'SELECT DISTINCT R1.objekt_id AS objekt_id
FROM belegung AS R1, ' in Zeile 2.
das Problem ist, das die Abfrage für 2. funktioniert nur das abzeihen bzw auschließen geht nciht. Habs mit allem probiere: WHERE NOT EXISTS,MINUS und eben NOT IN
Hat jemand eine Idee wo der Fehler liegen könnte.
Danke für eure Bemühungen
Gruß
Stefan
geschrieben von
Wundpflaster
,
30.01.2006, 19:17 Uhr
, 37 mal gelesen