2010-12-12 7 views
1

Ich habe zwei Tabellen wie dieseHilfe bei einer SQL-Abfrage - Verbinden von zwei Tabellen

Tabelle 1 -> route_table

route_id | BusNumber | StartStationID | DestStationID 
1  | 90D  | 1   |  2 
2  | 100A | 1   |  1 

Table2 -> station_table

stationId | stationname 
1   | Jadcherla 
2   | Hyderabad 

ich schreiben möchte eine SQL-Abfrage, um die obigen zwei Tabellen zu verbinden und diese Tabelle zu erzeugen

BusNumber | StartStation | DestStation 
    90D  | Jadcherla | Hyderabad 
    100A | Jadcherla | Jadcherla 

Ich habe versucht, innere Joins zu verwenden, konnte aber keine drei Spalten melden. Ich konnte kein Keyword finden, um dafür zu googeln. Neu bei SQL, sorry, wenn dies eine grundlegende Frage

ist

Danke,
Sandeep

Antwort

2
SELECT BusNumber, 
     Start.stationname AS StartStation, 
     Dest.stationname AS DestStation 
FROM route_table 
INNER JOIN station_table Start ON Start.stationId = StartStationID 
INNER JOIN station_table Dest ON End.stationId = EndStationID 
1

A LEFT JOIN wird es tun:

SELECT busnumber, d1.stationname, d2.stationname FROM route_table 
LEFT JOIN dest d1 ON StartStationID = d1.stationId 
LEFT JOIN dest d2 ON StartStationID = d2.stationId 

Bewiesen Arbeits

+0

Dank Alex und Victor, beide Abfragen funktionieren perfekt – Bharath

1
SELECT 
rt.BusNumber, startStation.stationname, destStation.stationname 
FROM rout_table rt 
LEFT JOIN station_table startStation ON rt.StartStationID = startStation.stationId 
LEFT JOIN station_table destStation ON rt.DestStationID = destStation.stationId 
Verwandte Themen