设计一张表,包括‘线路代号’,‘站点’,‘站点顺序’共三列,需要完成从一个站点到另一个站点的路线查询,并列出沿途站点,请问哪位可以帮忙用SQL写一下?
表设计里面有个站点顺序,可以提共关联关系,我想要知道的是这条线路上起点和终点之间的所有站点,并且是要按顺序排列的,我写的是
SELECt T1.线路代号, T1.站点, T2.站点
FROM 站点信息 AS T1, 站点信息 AS T2 , 站点信息 AS T3
WHERe T1.站点='龙家营' and T2.站点='邯郸' and T1.线路代号 = T2.线路代号 and T3.线路代号 = T2.线路代号 and T3.站点顺序 bwtween T1.站点顺序 and T2.站点顺序;
但是这要求 T1.站点顺序必须小于 T2.站点顺序,不能包含所有情况,请问有没有好的办法?
sql线路站点查询语句
答案:2 悬赏:0 手机版
解决时间 2021-02-05 10:04
- 提问者网友:温柔港
- 2021-02-04 13:32
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-02-04 14:21
您好,很高兴能够为您解答!
1. 你要查询出某个站点下面的站点上是什么,你怎么知道他们的关联关系,所以你的表设计就不合理,至少要有个字段记录下一站或者上一站是哪个站点;
2. 设计出合理的表结构以后,通过分组函数进行查询。如果是oracle的话可以用 over()进行查询。
希望我的回答能够帮助到您!
1. 你要查询出某个站点下面的站点上是什么,你怎么知道他们的关联关系,所以你的表设计就不合理,至少要有个字段记录下一站或者上一站是哪个站点;
2. 设计出合理的表结构以后,通过分组函数进行查询。如果是oracle的话可以用 over()进行查询。
希望我的回答能够帮助到您!
全部回答
- 1楼网友:白昼之月
- 2021-02-04 15:55
先取出站点所在的line list lines1
然后取出目的地所在的line list lines2
一次换乘的话 科技得出 需要2个line
这样就简单了,对lines1s里线路进行迭代,然后再对line1的站点进行迭代,如果该站点在lines2的line里面,就ok了。。线路转换就出来了。
这是个方法,但应该不是最优的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯