Wie kann ich 2 Tabellen joinen mit aber 2 abfragen

DominikReber

Benutzer
Beiträge
8
Hallo zusammen

Ich hab zwei Tabellen wie diese hier:

"Flights"
ID||FlightNumber||Origin_Iata_Code||Destination_Iata_Code


"Airports"
IATA_CODE||ICAO_CODE||Airport_Name||Airport_Position||...


Was ich will, ist eine Abfrage-Tabelle:

ID||FlightNumber||Origin_Iata_Code||Origin_Icao_Code_Origin_Airport_Name||Origin_Airport_Position||Destination_Iata_Code||Destination_Icao_Code_Destination_Airport_Name||Destination_Airport_Position

Also für den IATA_Code für Origin und Destination will ich jeweils die Airport-Werte.

Habs nur geschafft, für entweder Origin oder für Destionation, aber nicht für beide zusammen in einer Tabelle.

Herzlichen Dank

Dominik
 
Werbung:
Demo:

Code:
edb=*# create table team(id int primary key, name text);
CREATE TABLE
edb=*# insert into team values (1, 'Team 1');
INSERT 0 1
edb=*# insert into team values (2, 'Team 2');
INSERT 0 1
edb=*# create table spiel (heim int references team, gast int references team);
CREATE TABLE
edb=*# insert into spiel values (1,2);
INSERT 0 1
edb=*# select heim.name, gast.name from spiel left join team as heim on spiel.heim=heim.id left join team as gast on spiel.gast=gast.id;
  name  |  name  
--------+--------
 Team 1 | Team 2
(1 row)

edb=*#
 
Hi und danke für die rasante Antwort.
Leider hab ichs noch nicht geschafft.

Mein Versuch:

Code:
SELECT Origin.Icao_Code as Origin_Icao_Code
Destination.Icao_Code as Destination_Icao_Code
FROM Flights
left join Airports as Origin on Flight.Origin_Iata_Code = Airports.Iata_Code
left join Airports as Destination on Flight.Destination_Iata _Code = Airports.Iata_Code

um die 2 ICAO-Codes auszulesen. Irgendwo hab ichs wohl falsch gemacht.
 
Werbung:
Zurück
Oben