Итак, я работаю за столом, в котором хранятся разные автобусные маршруты. Каждый маршрут может проходить через различные местоположения (StationId
), и порядок, в котором он проходит через каждое из них, определяется столбцом StationOrder
.
Таблица выглядит так:
RouteId | StationId | StationOrder |
------------------------------------
1 | 1 | 2
1 | 2 | 3
1 | 4 | 1
3 | 1 | 1
3 | 2 | 3
3 | 3 | 2
Что я знаю, так это маршруты, которые меня интересуют. В данном случае это маршруты с идентификаторами 1 и 3. Я также знаю, что является начальной станцией, StationId 1, что мне нужно выбрать, это все StationIds, которые имеют StationOrder
число больше, чем StationOrder
число для StationId
1.
Я бы показал то, что я пробовал до сих пор, но в основном, так как таблица содержит больше маршрутов, чем два, я знаю, как выбрать нужные маршруты:
SELECT RS.StationId FROM RouteStations AS RS
WHERE RS.RouteId IN (1,3)
Но когда дело доходит до второй части, где мне нужно выбрать все StationId
с номером StationOrder
, большим, чем номер StationOrder для StationId 1 для каждого маршрута, мои знания по SQL заканчиваются.