[SQL] Dauer aus Timestamps berechnen

Gast #3167941
Lesenswert?

Hallo Forum,

in einer Firebird-Datenbank logge ich die Betriebszustände eines Gerätes 
mit.

in einer Zeile stehen also der TIMESTAMP, ein CODE (1 - start, 0 - stop, 
anderer Wert - Fehler), sowie ein VALUE, um den weitere Angaben im 
Fehlerfall zu haben.

Nun würd ich gerne eine Abfrage erzeugen, welche die TIMESTAMPs auf 2 
Spalten so aufteilt, dass zusammengehörige Starts und Stops in einer 
Zeile landen, um anschließend die Dauer - Laufzeiten und 
Stillstandszeiten ausrechnen zu lassen.

Zusätzlich schwierig wirds dann noch, wenn durch Stromausfall es keinen 
Eintrag über ein Stop gibt und damit 2 Starts auf einander folgen.

Wie erstellt man solch eine Abfrage?

Danke für eure Hilfe
FB
Gast #3167951
Lesenswert?

das ist zwar machbar aber nicht auf die schnell schön machbar. 
Sinnvoller ist gleich die Datenbank so anzupassen das man es einfach 
abfragen kann.


Tabelle 1
Id, Start, Stop

Tabelle 2
Id, Zeitpunkt, Code, Value

Wenn du ein Start einfügst ist es klar, einfach in Tabelle1 eine neue 
Zeile anlegen. Beim Stop einfach die letzte Zeile updaten. Bei einem 
Fehler einfach eine neue Zeile in Tabelle2 schreiben.


schon lässt sich das ganze ohne fingerbrechen abfragen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren