Beginn und Ende (Datum) berechnen wenn nur Beginn in Tabelle

Wolf-Tilmann

Aktiver Benutzer
Beiträge
35
Hallo allerseits,

könnt Ihr mir bitte hier wieder einmal weiterhelfen?

Ich habe eine Tabelle, mit einer Spalte Thema und einer Spalte Beginn. Ein neues Thema kann nur begonnen werden, wenn das alte abgeschlossen ist. Daraus möchte ich Abfrage erstellen, welche mir zu jedem Thema Beginn und Ende ausgibt. Theoretisch könnte man als Ende den Beginn des folgenden Themas nehmen.

Nur weiß ich nicht, wie ich hier vorgehen soll/kann.

Vielen Dank schon einmal
&
Ein schönes Wochenende

Wolf-Tilmann
 
Werbung:
Ich bin mir nicht sicher wie elegant man das in Access hinbekommen kann, eventuell so:
Code:
SELECT   t1.thema,
     t1.beginn,
     (   SELECT   min(t2.beginn)
       FROM   tabelle t2
       WHERE   t2.beginn > t1.beginn ) AS ende
FROM   tabelle t1
 
Das geht mit lead():

Code:
test=# select * from themen ;
  thema  |  begin   
---------+---------------------
 thema 1 | 2016-04-08 08:00:00
 thema 2 | 2016-04-08 09:00:00
 thema 3 | 2016-04-08 09:30:00
 thema 4 | 2016-04-08 12:30:00
(4 rows)

test=# select * , lead(begin) over (order by begin) - begin as dauer from themen ;
  thema  |  begin  |  dauer   
---------+---------------------+----------
 thema 1 | 2016-04-08 08:00:00 | 01:00:00
 thema 2 | 2016-04-08 09:00:00 | 00:30:00
 thema 3 | 2016-04-08 09:30:00 | 03:00:00
 thema 4 | 2016-04-08 12:30:00 |
(4 rows)

Aber nur, wenn die DB das kennt. Ganz alte Systeme wie z.B. MySQL kennen das nicht.
 
Die Lösung von @ukulele bezieht sich auf nur eine Tabelle, soweit ich das sehe. Wenn Access das nicht kann, würde ich es nicht verwenden. Die Funktionen sind schon sehr lange üblich - und sehr nützlich.
 
Ja ich habe bewusst eine Lösung gewählt die Access können müsste. Ansonsten hätte ich auch einen anderen Weg beschritten.

Da ich zweimal auf die selbe Tabelle zugreife ("tabelle" musst du ersetzen), muss ich mit Aliasen arbeiten, in diesem Fall t1 und t2.
 
hmm.
könntet Ihr bitte einen Blick auf den beigefügten Screenshot werfen?

Danke Euch
 

Anhänge

  • Zwischenablage01.png
    Zwischenablage01.png
    26,7 KB · Aufrufe: 6
Ich habe den Text 1:1 kopiert (also auch mit dem Text "tabelle") und bekomme die Fehlermeldung:
 

Anhänge

  • Zwischenablage02.png
    Zwischenablage02.png
    20,5 KB · Aufrufe: 3
Werbung:
Zurück
Oben