我有以下数据库表,其中包含有关公共交通系统的信息:
RideStop有关于骑行和车站的参考资料。当按RideStops按sequenceNumber排序时,您将得到这个特定行程的路径。
我需要从所有的路线,从一个特定的车站出发。我可以通过执行
select *
from ridestop rs
where rs.ride in (
SELECT ride FROM ttm.ridestop where stationid = 8503000
)然而,我不在乎搭便车从哪里来,只去哪里。
问题:如何将结果限制在仅剩下的部分,从8503000站开始?
发布于 2012-07-25 14:46:39
下面的查询使用了一个子查询,该子查询是对骑车途中每个车站的序列号进行的。然后,它加入这个返回到骑行停止,选择一切从骑上或在该序列号之后。
select rs.*
from ridestop rs join
(SELECT ride, rs.sequenceNumber
FROM ride r join
ridestop rs
on r.ride = rs.ride
where stationid = 8503000
) r
on rs.ride = r.ride and
rs.sequenceNumber >= r.sequenceNumber
order by rs.ride, rs.sequenceNumber发布于 2012-07-25 14:48:37
如果StationId是按递增顺序排列的.下面的查询工作
SELECT *
FROM ridestop rs
WHERE rs.ride IN (SELECT ride
FROM ttm.ridestop
WHERE ( stationid = 8503000
AND stationid > 8503000 )) https://stackoverflow.com/questions/11652265
复制相似问题