Zitat Zitat von Alfred E. Neumann Beitrag anzeigen
vermutlich ist eine In-Sich-Verwendung in der Stückliste gemeint. Dagegen ist SQL wohl noch machtlos, ist eben keine richtige Sprache
Mit SQL können sehr wohl wechselseitige Abfragen gemacht werden, ohne dass man in eine Endlosschleife läuft.

Dazu muss lediglich die Anweisung CYCLE zwischen der CTE und der endgültigen SELECT-Anweisung eingefügt werden.

Hier ein Beispiel einer Auswertung mit wechselseitigen Beziehungen - Fahrpläne (ohne Endlos-Schleife).
Code:
With Destinations (Departure, Arrival, Connections, Costs) 
  as (Select Departure, Arrival, 
             Cast(Departure concat '->' concat Arrival as VarChar(200)),
             Price
         From Flights f
         Where Departure ='Frankfurt'
      Union All
      Select d.Departure, f.Arrival, 
             Cast(d.Connections concat '->' concat f.Arrival as VarChar(200)),
             Costs + Price
         From Destinations d join Flights f on d.Arrival = f.Departure
       Where d.arrival <> 'Frankfurt')
      Cycle Arrival set cyclic_data to '1' Default '0'
Select Departure, Arrival, Connections, Costs 
   From Destinations
Where cyclic_data = '0'
order by departure, arrival
Birgitta