公交换乘查询sql语句

公交换乘查询sql语句,第1张

无换乘线路查询(直接返回线路):

SELECT DISTINCT 公交线路 FROM

(SELECT FROM 公交线路表 WHERE 经过站点 IN (select 站点编号 from 站点信息表 where 站点名称='二环北路')) a

INNER JOIN

(SELECT FROM 公交线路表 WHERE 经过站点 IN (select 站点编号 from 站点信息表 where 站点名称='金殿')) b

WHERE a公交线路 = b公交线路

--一次换乘线路查询:

SELECT DISTINCT a公交线路 AS 公交线路a,b公交线路 AS 公交线路b, a站点编号 FROM

(SELECT FROM 公交线路表 WHERE 经过站点 IN (select 站点编号 from 站点信息表 where 站点名称='二环北路')) a

INNER JOIN

(SELECT FROM 公交线路表 WHERE 经过站点 IN (select 站点编号 from 站点信息表 where 站点名称='金殿')) b

WHERE a公交线路 <> b公交线路 AND a站点编号 = b站点编号

--多次换乘用一个语句就不行了,需要做循环

先完成直达的吧

两张表(一对多的关系):

表一:公交线路表

id, 线路(就是第几路车的意思)

表二:站点表或者路线表

id, 表一的id(就是外键),站点名,顺序

站站查询的时候, 查表二, group by 表一的id,就能确定线路, 再对照表一就能找到线路名了

当然如果是交作业的话, 两张表够了; 想更专业点就用3张表(多对多);

在就是换乘了

这个比较复杂, 会涉及到一些算法, 要看你的切入点是什么了

比如总时间, 换乘次数, 总路程等等,都有不同的设计方法

此为个人意见,仅供参考!

以上就是关于公交换乘查询sql语句全部的内容,包括:公交换乘查询sql语句、用java怎么写一个简单的公交 站站 查询功能,只须用mvc就行 数据库用mysql、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9303930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存