Hallo,
ich benötige Hilfe bei einer SQL-Abfrage.
Eine Verarbeitungstabelle enthält zu diversen Objekten unterschiedliche Status mit deren Zeitangaben. In der Regel springt die Verarbeitung über verschiedene Status, sodass ich diese relativ leicht filtern kann und jeweils 2 Zeilen pro Objekt habe, mit denen ich dann die Verarb.-Zeit berechnen kann (und noch einiges mehr; dann in Excel). Nun gibt es aber hin und wieder den Fall, dass Objekte einen "Zwischen"-Status mehrmals durchlaufen, der aber für meine Berechnunen nicht relevant ist. Zusätzlich gibt es noch einen Status-Counter in der Tabelle. Diesen benötige ich auch, da der finale Status in der Tabelle mehrmals und mit unterschiedlichen Zeitangaben versehen ist (er ist sozusagen im entsprechenden System nochmals untergliedert, mich interessiert nur der erste Eintrag). In der Regel ist der vierte Status (Counter auf 3) der, den ich benötige. Wird ein Zwischenstatus zweimal durchlaufen steht der Counter auf 4.
Was mir vorschwebt:
Entweder (Wenn Counter = 3 und Status = xyz)
oder (Wenn Counter = 4 und Status = xyz)
aber eben nicht beides. Weil wenn Counter 3 bei Status xyz zutrifft, dann trifft er auch Counter 4 zu und so würde ich dann wieder 3 Zeilen pro Objekt bekommen.
Gibt es da Möglichkeiten in SQL? Habe schon versucht was zu finden, war aber alles erfolglos.
Vielleicht mal schematisch, was mir als Ausgabe vorschwebt:
Objekt -- Status -- Counter -- Zeit
1 -- A -- 0 -- xya
1 -- D -- 3 -- xyb
2 -- A -- 0 -- xyc
2 -- D -- 4 -- xyd
3 -- A -- 0 -- xye
3 -- D -- 4 -- xyf
ich benötige Hilfe bei einer SQL-Abfrage.
Eine Verarbeitungstabelle enthält zu diversen Objekten unterschiedliche Status mit deren Zeitangaben. In der Regel springt die Verarbeitung über verschiedene Status, sodass ich diese relativ leicht filtern kann und jeweils 2 Zeilen pro Objekt habe, mit denen ich dann die Verarb.-Zeit berechnen kann (und noch einiges mehr; dann in Excel). Nun gibt es aber hin und wieder den Fall, dass Objekte einen "Zwischen"-Status mehrmals durchlaufen, der aber für meine Berechnunen nicht relevant ist. Zusätzlich gibt es noch einen Status-Counter in der Tabelle. Diesen benötige ich auch, da der finale Status in der Tabelle mehrmals und mit unterschiedlichen Zeitangaben versehen ist (er ist sozusagen im entsprechenden System nochmals untergliedert, mich interessiert nur der erste Eintrag). In der Regel ist der vierte Status (Counter auf 3) der, den ich benötige. Wird ein Zwischenstatus zweimal durchlaufen steht der Counter auf 4.
Was mir vorschwebt:
Entweder (Wenn Counter = 3 und Status = xyz)
oder (Wenn Counter = 4 und Status = xyz)
aber eben nicht beides. Weil wenn Counter 3 bei Status xyz zutrifft, dann trifft er auch Counter 4 zu und so würde ich dann wieder 3 Zeilen pro Objekt bekommen.
Gibt es da Möglichkeiten in SQL? Habe schon versucht was zu finden, war aber alles erfolglos.
Vielleicht mal schematisch, was mir als Ausgabe vorschwebt:
Objekt -- Status -- Counter -- Zeit
1 -- A -- 0 -- xya
1 -- D -- 3 -- xyb
2 -- A -- 0 -- xyc
2 -- D -- 4 -- xyd
3 -- A -- 0 -- xye
3 -- D -- 4 -- xyf