SELECT BusLine.LineCode AS RouteID,
BusStation.Station AS StartStation, BusStation_1.Station AS EndStation,
BusStation_1.StationIndex - BusStation.StationIndex AS StopCount
FROM BusLine AS BusLine_1
INNER JOIN Area AS Area_1
ON BusLine_1.AreaID = Area_1.ID
INNER JOIN BusInfo AS BusInfo_1
ON BusLine_1.ID = BusInfo_1.BusLineID
INNER JOIN BusStation AS BusStation_1
ON BusInfo_1.ID = BusStation_1.BusInfoID
INNER JOIN
Area
INNER JOIN BusLine
ON Area.ID = BusLine.AreaID
INNER JOIN BusInfo
ON BusLine.ID = BusInfo.BusLineID
INNER JOIN BusStation
ON BusInfo.ID = BusStation.BusInfoID
ON BusStation_1.StationIndex > BusStation.StationIndex AND BusInfo_1.ID = BusInfo.ID
WHERE (Area.City = 'NewYork')
我已经阅读了上面的 sql 十分钟,但是由于这一行,我无法理解:
INNER JOIN
Area
INNER JOIN BusLine
我想知道是否有人可以解释它并重新考虑它以使其易于理解?
更新架构:
区域:
ID
Name
公交线路:
ID
AreaID --> ID in Area
LineCode
公交信息:
ID
BusLineID --> ID in BusLine
公车站:
BusInfoID --> ID in BusInfo
顺便说一句,我正在使用 Access,看来我必须( )
使用innjer join
.