Hey liebe Community,
Ich hab eine Frage bezüglich einer Abfrage, auf deren Lösung ich nicht komme
Ich habe 3 Tabellen in einer Derby-Datenbank: Aufträge, Kunden, Angestellte
Ein Kunde kann mehrere Angestellte (etwa einen Fahrer) buchen, aber ein Angestellter kann während eines Zeitaums nur einmal gebucht werden.
Ein Auftrag besteht aus: Auftragnummer, Buchung_von(Date), Buchung_bis(Date), Kunde, Angestellter
Ein Angestellter besteht aus: Angestellten_ID, Fachgebiet, Gehalt usw.
Da ich das ganze in einem Programm eingebunden habe, möchte ich beim Erstellen eines Auftrags der Abfrage ein Anfangs und ein End-Datum übergeben und möchte dann eine Liste aller Angestellten zurück haben, die während dieses Zeitraumes noch nicht verbucht sind..
Bisher hatte ich nur folgende Abfrage:
Damit erhalte ich aber alle Bodyguards die IM MOMENT noch nicht verbucht sind. Da können mir aber ganz schnell die Angestellten ausgehen, da ich deren nächsten Auftrag nicht buchen kann, solange sie noch in einem sind.
Könntet ihr mir weiterhelfen?
Dankeschön!
Ich hab eine Frage bezüglich einer Abfrage, auf deren Lösung ich nicht komme
Ich habe 3 Tabellen in einer Derby-Datenbank: Aufträge, Kunden, Angestellte
Ein Kunde kann mehrere Angestellte (etwa einen Fahrer) buchen, aber ein Angestellter kann während eines Zeitaums nur einmal gebucht werden.
Ein Auftrag besteht aus: Auftragnummer, Buchung_von(Date), Buchung_bis(Date), Kunde, Angestellter
Ein Angestellter besteht aus: Angestellten_ID, Fachgebiet, Gehalt usw.
Da ich das ganze in einem Programm eingebunden habe, möchte ich beim Erstellen eines Auftrags der Abfrage ein Anfangs und ein End-Datum übergeben und möchte dann eine Liste aller Angestellten zurück haben, die während dieses Zeitraumes noch nicht verbucht sind..
Bisher hatte ich nur folgende Abfrage:
Code:
SELECT * FROM APP.Angestellter WHERE Angestellter _ID NOT IN(SELECT APP.Angestellter .Angestellter _ID FROM APP.Angestellter INNER JOIN APP.AUFTRAEGE ON APP.Angestellter .Angestellter _ID = APP.AUFTRAEGE.BG_NUMMER)");
Könntet ihr mir weiterhelfen?
Dankeschön!
Comment