SQL-DB (Gupta), Select mit Zeitberechnung

Sparks

Mitglied
SQL-DB (Gupta/MySQL), Select mit Zeitberechnung

Hallo zusammen,

es geht um eine Art autom. Zuweisung von Zeiten.

Ich habe eine Tabelle mit z. B. (Datentypen date bzw. time) diesen drei Datensätzen:
Datum Startzeit Endezeit
07.06.2005 06:00 06:50
07.06.2005 07:00 07:45
07.06.2005 10:30 12:00

Es würde also ein neuer Eintrag von bis zu 2h 45m Dauer "dazwischen" passen.
Wie müsste das Select-Statement aussehen, das mir den Anfangszeitpunkt von 07:45 liefert? :confused:
Ich könnte zwar jeden Datensatz lesen und mit dem vorherigen vergleichen und so eine "Lücke" auffinden, ich fände aber ein Selectstatement, das das erledigt, eleganter.
Edit: (Die exakte Syntax (MySQL od. DB2/Gupta) ist egal).

Vielen Dank und
Grüße, Sparks
 
Zuletzt bearbeitet:
Wieso soll die Query 7:45 liefern? Zwischen 6:50 und 7:00 (also 1. und 2. Datensatz) ist doch auch 'ne Lücke.
Oder wie definierst Du "Lücke"?

Generell könnte die Abfrage wie folgt funktionieren (Annahme, die Tabelle heisst Zeiten):

SELECT t1.Datum, t1.Endezeit, Min (t2.Startzeit)
FROM Zeiten t1, Zeiten t2
WHERE t1.Datum = t2.Datum AND t2.Startzeit > t1.Endezeit
GROUP BY t1.Datum, t1.Endezeit

Achja, das ist jetzt in T-SQL, aber ich denke mal der Grundgedanke wird klar ;-)
 
Hallo andi_g69,

danke, das sieht sehr gut aus! Das ist genau der Ansatz, den ich brauchte.
Ja, die Syntax ist ja ähnlich in allen SQL-Dialekten, das ist kein Problem.
(Im konkreten Fall ist sie mit DB2/Gupta sogar voll kompatibel).

Richtig, bei 6:50 und 7:00 ist auch eine Lücke, ich brauche natürlich immer eine Lücke mit einer bekannten Mindest-Zeitdauer, und ich fragte nach 7:45 nur als Beispiel, da hier die Lücke ja auffällig ist. Diese Zeitdauer in Dein Statement einzubauen, ist aber kein Problem, danke nochmals.

LG, Sparks
 
Zurück