I would say that for this work you need to have three tables.
Station : station identifier, name, etc.
Service : service identifier, operator, number of train cars, etc.
Service_Stop : service identifier, stop number, station identifier.
You can then find the services that stop at station-B and then at station-D using the following query:
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'
source share