Я бы сказал, что для этой работы необходимо иметь три таблицы.
Станция : идентификатор станции, название и т. Д.
Сервис : идентификатор услуги, оператор, количество вагонов, возможно, и т. д.
Service_Stop : идентификатор услуги, номер остановки, идентификатор станции.
Затем можно найти услуги, которыеОстановитесь на Станции-B и затем на Станции-D, используя запрос, подобный следующему:
SELECT
Service_ID
FROM
Station AS Start_Station
JOIN Service_Stop AS Start_Stop ON
Start_Station.Station_ID = Start_Stop.Station_ID
JOIN Service_Stop AS End_Stop ON
Start_Stop.Service_ID = End_Stop.Service_ID AND
Start_Stop.Stop_Number < End_Stop.Stop_Number
JOIN Station AS End_Station ON
End_Stop.Station_ID = End_Station.Station_ID AND
End_Station.Name = "Station-D"
WHERE
Start_Station.Name = 'Station-B'