2017-05-16 6 views
1

I 2 Spalte anschließen möchten, die2 mit einer anderen Spalte derselben Tabelle Spalte Join

hier die Tabellen in einer anderen Tabelle gleichen Fremdschlüssel teilen:

country: 
idcountry| countryname 
1   german 
2   america 

Ziel

id|fromcountry |tocountry 
1 1    2 

das Ergebnis das wollte ich:

id|fromc |toc 
1 german america 
+0

Diese schönen Artikel könnten Sie mit beginnen [link] (https://www.w3schools.com/sql/sql_join.asp) –

Antwort

0

Verwenden Left Outer Join für beide Felder so etwas wie dieses

SELECT Dest.ID, CFrom.CountryName, CTo.CountryName 
FROM Destination Dest 
LEFT OUTER JOIN Country CFrom ON Dest.FromCountry = CFrom.idcountry 
LEFT OUTER JOIN Country CTo ON Dest.ToCountry = CTo.idcountry 
1

Verwenden Sie einfache LEFT JOIN ans Alias ​​Land Namensspalte bieten:

SELECT d.idcountry as id, cf.CountryName as fromc, ct.CountryName as toc 
FROM destination d 
LEFT JOIN country cf ON d.fromcountry = cf.idcountry 
LEFT JOIN country ct ON d.tocountry = ct.idcountry 
Verwandte Themen