我正在写的模型火车路线,它们存储在数据库中的表[TrainStop]如下应用制定出了一套路线可能的目的地:查询使用SQL Server 2008
TrainServiceId StationCode StopIndex IsEnabled
因此,给定的列车遵循一条路线,由几行组成,StopIndex指示顺序。我试图解决的问题是,根据可用的列车服务,说明用户可以从给定的起始站获得哪些站点。这将是相对简单的,但它也可能禁用停止,这意味着用户无法到达该列车服务停止后的任何目的地。它也有可能是在不同的路由多辆列车可以共享站例如:
列车服务1:A,B,C,d,E
列车服务2:P,Q,B,C,d, R
因此,如果用户在B,他们可以去C,D,E和R,但是如果D站在任何一项服务上都被禁用,他们只能进入C.如果E站在服务1上被禁用,则用户可以到达C,D和R.
解决此问题在C#中非常简单,但我想知道它是否可以在SQL中优雅高效地解决?我正在努力寻找一种方式,为每条路线排除过去未启用行的电台。
你可以给一些样本输入和输出数据吗? – 2010-04-23 13:08:04