Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verknüpfung zu 2 Datensätzen aus einer Tabelle (https://www.delphipraxis.net/89750-verknuepfung-zu-2-datensaetzen-aus-einer-tabelle.html)

hanselmansel 5. Apr 2007 09:26

Datenbank: MySQL • Zugriff über: ZEOS

Verknüpfung zu 2 Datensätzen aus einer Tabelle
 
HiHo,

Ich mache gerade meine ersten Geh- bzw. Krabbel-Versuche in SQL. Ich habe zwei Tabellen mit den Feldern:

Code:
bahnhoefe: Index, name, streckenkilometer, kuerzel
fahrten: fahrt_id, start, ziel, besteller, fahrtanzahl, [...]
Die Felder fahrten.start und farten.ziel sollen jetzt Schlüssel für Bahnhöfe sein. Wenn ich nur mit einem Bahnhof arbeite (also entweder Start oder Ziel), dann funktioniert die Verknüpfung der beiden Tabellen:

SQL-Code:
SELECT fahrten.*, bahnhoefe.*
FROM fahrten
LEFT JOIN bahnhoefe
ON (fahrten.ziel = bahnhoefe.Index)
Ich möchte allerdings beide Bahnhöfe auswählen um zum Beispiel die ID der Fahrt, die Namen des Start- und des Zielbahnhofs und die Fahrtstrecke auszugeben. Die Abfrage

SQL-Code:
SELECT fahrten.*, bahnhoefe.*
FROM fahrten
LEFT JOIN bahnhoefe
ON (fahrten.ziel = bahnhoefe.Index)
LEFT JOIN bahnhoefe
ON (fahrten.start = bahnhoefe.Index)
führt zu folgender Fehlermeldung:

Code:
---------------------------
Fehler
---------------------------
SQL Error: Not unique table/alias: 'bahnhoefe'
---------------------------
OK  
---------------------------
Wäre super wenn ihr mir helfen könntet, oder mir sagen könntet, wo ich die Lösung suchen muss. Ich weiß nämlich nichtmal mit welchen Suchbegriffen ich nach diesem Problem suchen soll.

liebe Grüße,

hanselmansel

mkinzler 5. Apr 2007 09:34

Re: Verknüpfung zu 2 Datensätzen aus einer Tabelle
 
Du benötigst 2 Instanzen der Bahnhoefe-Tabelle:
SQL-Code:
SELECT fahrten.*, b1.*, b2.*
FROM fahrten
LEFT JOIN bahnhoefe b1
ON (fahrten.ziel = b1.Index)
LEFT JOIN bahnhoefe b2
ON (fahrten.start = b2.Index)

hanselmansel 5. Apr 2007 09:41

Re: Verknüpfung zu 2 Datensätzen aus einer Tabelle
 
Super, vielen Dank! :-D

MfG,

hanselmansel


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz