Analyse zeitlicher Ereignisse

26/07/2008 - 11:49 von Berthold Neumann | Report spam
In der letzten Zeit stand ich mehrfach vor der Anforderung, protokollierte
Ereignise (mit Zeitstempel) zu analysieren.
Beispiel für eine typische Anforderung:

- Das letzte Ereignis eines jeden Kunden vom Typ-A finden
- Für jeden Kunden das Ereignis vom Typ-B finden, das dem Ereignis vom
Typ-A zeitlich am nàchsten liegt.

Die 1.Abfrage ist natürlich banal (MAX(Datum) ; group by Kundennr)
Für Abfragen der 2.Art suche ich eine elegante Lösung. Bisher verwende ich
dafür Zwischentabellen, aber dies empfinde ich wenig elegant.
Hat jemand für diese Art von Aufgabenstellung eine elegante Lösung?
Oder gibt es einen Link oder ein Buch, das sich mit diesem Thema befasst
hat?

Gruß

Berthold





Berthold Neumann
http://www.sql-ssis.de
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
 

Lesen sie die antworten

#1 Elmar Boye
28/07/2008 - 16:48 | Warnen spam
Hallo Berthold,

Berthold Neumann schrieb:
In der letzten Zeit stand ich mehrfach vor der Anforderung,
protokollierte Ereignise (mit Zeitstempel) zu analysieren.
Beispiel für eine typische Anforderung:

- Das letzte Ereignis eines jeden Kunden vom Typ-A finden
- Für jeden Kunden das Ereignis vom Typ-B finden, das dem Ereignis vom
Typ-A zeitlich am nàchsten liegt.

Die 1.Abfrage ist natürlich banal (MAX(Datum) ; group by Kundennr)
Für Abfragen der 2.Art suche ich eine elegante Lösung.



Es hàngt etwas vom konkreten Einzelfall ab.
Aber für SQL Server 2005 sind "elegante" Lösungen
hàufig via Partionklausel (OVER) ggf. in Kombination
mit einer CTE machbar.

Hat jemand für diese Art von Aufgabenstellung eine elegante Lösung?



Wenn Du etwas konkreter wirst, kann man das sicherlich
beispielhaft zeigen.

Gruß Elmar

Ähnliche fragen