AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SELF JOIN - Beispiel konstruieren
Thema durchsuchen
Ansicht
Themen-Optionen

SELF JOIN - Beispiel konstruieren

Ein Thema von Jürgen Thomas · begonnen am 16. Aug 2009 · letzter Beitrag vom 18. Aug 2009
 
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#1

SELF JOIN - Beispiel konstruieren

  Alt 16. Aug 2009, 18:11
Datenbank: beliebig • Zugriff über: beliebig
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
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz