帮助sql查询 - 连接两个表

时间:2010-12-12 13:27:40

标签: mysql sql

我有两张这样的表

表1 - > route_table

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

表2 - > station_table

stationId  |  stationname  
1          |   Jadcherla  
2          |   Hyderabad  

我想写一个sql查询来加入上面两个表并生成这个表

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

我尝试使用内部联接但无法报告三列。我无法找出谷歌的任何关键字。 sql的新手,对不起,如果这是一个基本问题

谢谢,
和Sandeep

3 个答案:

答案 0 :(得分: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 :(得分:1)

左连接将执行此操作:

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

证明有效

答案 2 :(得分: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