免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2066 | 回复: 1
打印 上一主题 下一主题

请教一个关与公交换乘的SQL或者过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-14 11:09 |只看该作者 |倒序浏览
小弟现在正在做一个公交公司的项目,有一个模块是公交线路查询的,其中涉及到公交换乘,客户给了2个视图,一个是站点视图(存放所有的站点信息,yy_line_station_view),一个是线路信息(存放所有的线路,yy_line_view),视图是他们原来就有的,不能做任何字段的修改,
下面这条语句是查询2路车所经过的站点:
select  s.* from yy_line_station_view s,yy_line_view l where s.LINE_ID=l.GIS_LINE_ID and l.LINE_NAME='2路' and up_or_down=0 order by sort_no asc;
其中两个视图是经过GIS_LINE_ID (是线路内码)和LINE_ID(站点视图中的线路ID,为内部编号)关联的,LINE_NAME是公交车线路名称,up_or_down=0(是上行还是下行0=上行,1=下行),sort_no是站点顺序,
下面这条语句是查询火车站这个站点所经过的线路信息:
select  s.* from yy_line_station_view s where line_id in (select s.line_id from yy_line_station_view s where station_name like '%火车站%') and up_or_down=0 order by line_id asc;
这条语句可以查询出所有经过火车站的线路信息
比如说“2路”经过A,B,C,D四个站点,
比如说第2条语句查询出3路和5路经过火车站,其中“3路经过,K,Y,L,U”4个站点,“5路经过”,E,Q,C,G四个站点,从信息可以看出3路没有和2路有交叉的站点,所以不能换乘,5路和2路都经过C站点,代表可以换成,怎么用一条SQL语句或过程查询出有重合站点的车辆信息,就像上面语句中2路和5路有C站点重合,就把2路和5路的信息查询出来,显示在页面上,望那位大虾帮一下小弟,(可以把上面2条语句整合一下,或者写个过程等)不胜感激。

论坛徽章:
0
2 [报告]
发表于 2008-01-14 13:20 |只看该作者
如果2号路线和5号路线都经过C站点
在视图s里面是怎么表现的
C  2号
C  5号
还是其他的方式呢,没太看明白...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP