2010-12-12 5 views
1

J'ai deux tables comme celui-ciaide avec une requête SQL - joindre deux tables

- Tableau 1> route_table

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

Tableau 2 -> station_table

stationId | stationname 
1   | Jadcherla 
2   | Hyderabad 

Je veux écrire une requête sql pour joindre les deux tables ci-dessus et générer cette table

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

J'ai essayé d'utiliser des jointures internes mais je n'ai pas pu signaler trois colonnes. Je ne pouvais pas trouver de mot-clé pour google pour cela. Nouveau sql, désolé si cela est une question fondamentale

Merci,
Sandeep

Répondre

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 gauche join faire:

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 

Prouvé travaillant

+0

Merci Alex et Victor, les deux requêtes fonctionnent parfaitement – 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