Hallo,
ich befasse mich zz. etwas grundsätzlicher mit
SQL und mögliche jetzt zum SELF JOIN sinnvolle Beispiele basteln. So könnten
doppelte Datensätze gefunden werden; bei Andreas Kosch finde ich wiederholt die Berechnung der Differenz von km-Ständen.
Bei einer "eigenen Situation" komme ich nicht auf die zündende Idee. Ich habe eine Tabelle Schadensfaelle, bei der eine Versicherung für jedes Fahrzeug die Vorfälle (zusammen mit Schadenshöhe usw.) registriert. Diese Tabelle enthält auch ein Feld Datum. Ich möchte jetzt die Abstände zwischen den Vorfällen für ein bestimmtes Fahrzeug bestimmen. (Die ganzen WHERE-Bedingungen kann ich mir selbst zusammenreimen.)
Das folgende genügt natürlich noch nicht:
SQL-Code:
select a.Datum, b. Datum, a.Datum - b.Datum
from Schadensfaelle a
join Schadensfaelle b on b.id > 0 // nur fiktiv, damit eine Bedingung notiert ist
where a.Datum > b.Datum
Dies liefert zu viele Informationen:
Code:
DATUM DATUM1 SUBTRACT
03.06.2008 01.02.2008 123
13.09.2008 01.02.2008 225 // diese Zeile stört
13.09.2008 03.06.2008 102
Gibt es einen einfachen Trick, sodass sowohl bei a.Datum als auch bei b.Datum jedes Datum nur einmal auftaucht und die zeitliche Reihenfolge eingehalten wird?
Recht herzlichen Dank! Jürgen