Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: jojo3000 am April 06, 2021, 18:04:00

Titel: Differenz zweier aufeinanderfolgender Tabellenzeilen per SQL
Beitrag von: jojo3000 am April 06, 2021, 18:04:00
Servus!

in meiner Tabelle habe ich Zeitstempel für Tätigkeiten je Mitarbeiter:

9:15 | 50
10:05 | 25
10:30 | 77
....
wobei sich die Dauer der Tätigkeiten aus 10:05 minus 9:15 = 50 usw. ergibt.
und genau für die Ermittlung der Dauer einer Tätigkeit brauche ich Inspiration.
Es geht mir nicht um die Funktion DatDiff

Vielen Dank vorab schon mal für Eure Unterstützung!
LG
Peter


Titel: Re: Differenz zweier aufeinanderfolgender Tabellenzeilen per SQL
Beitrag von: ebs17 am April 06, 2021, 21:36:27
SELECT
   T.Zeitstempel,
   Nz(
   (
      SELECT
         MAX(X.Zeitstempel)
      FROM
         TabelleX
      WHERE
         X.Zeitstempel < T.Zeitstempel
   )
   , 0) AS Vorzeit
FROM
   TabelleX AS T
Titel: Re: Differenz zweier aufeinanderfolgender Tabellenzeilen per SQL
Beitrag von: jojo3000 am April 07, 2021, 10:08:06
Glück Auf!

Dein Code liefert:
Zeitstempel|Vorzeit
1     |0
3     |1
5     |3
8     |5
13     |8
16     |13
17     |16

ich benötige:
Zeitstempel|Vorzeit
1     |2
3     |2
5     |3
8     |5
13     |3
16     |1
17     |
Tätigkeitsdauer zum Zeitstempel1 = 2 = 3-1
Tätigkeitsdauer zum Zeitstempel8 = 5 = 13-8
 :-[

aber schon mal ein fettes Danke!
LG
Peter
Titel: Re: Differenz zweier aufeinanderfolgender Tabellenzeilen per SQL
Beitrag von: ebs17 am April 07, 2021, 10:59:45
ZitatEs geht mir nicht um die Funktion DatDiff
Das hatte ich pauschal als Aussage dazu verstanden, dass Du aus zwei Feldern alleine eine Differenz bilden kannst, wenn sie erst einmal in einer Zeile sind. Habe ich mich da getäuscht?

In meinem Code wird zu einem Datensatz der Vorgänger und dessen Wert ermittelt. Wenn nun stattdessen der Nachfolger gesucht wird, ist das nichts anderes als nur eine Logikumkehr in der Unterabfrage. So etwas sollte man selber hinbekommen, schon um zu unterstreichen, dass man den Ansatz auch versteht.
Titel: Re: Differenz zweier aufeinanderfolgender Tabellenzeilen per SQL
Beitrag von: jojo3000 am April 07, 2021, 13:36:59
Das hatte ich pauschal als Aussage dazu verstanden, dass Du aus zwei Feldern alleine eine Differenz bilden kannst, wenn sie erst einmal in einer Zeile sind. Habe ich mich da getäuscht?
Nein, natürlich nicht

So etwas sollte man selber hinbekommen, schon um zu unterstreichen, dass man den Ansatz auch versteht.
Dann probiere ich das mal

LG
Peter
Titel: Re: Differenz zweier aufeinanderfolgender Tabellenzeilen per SQL
Beitrag von: jojo3000 am Juni 08, 2021, 14:28:44
Hello,

habs hinbekommen,
für den Nachfolgeer wird "max" durch "min" und "<" durch ">" ersetzt.
Sehr geiler Code!
vielen Dank nochmal!

LG Peter