1.sql2000
2.三张表:公交信息表(列名:公交线路,发车时间),公交线路表(列名:公交线路,经过站点),站点信息表(列名:站点编号,站点名称)
3.表关系:站点编号=经过站点
需要:任意输入两个站名可以查询公交车的公交信息及换乘的站点名称
如:1路经过:a,b,c,d;2路经过f,c,e,r,d;输入c,d;得到结果:
1)1路,6:00-10:00;2路,6:30-21:00,换乘站为:c
2)1路,6:00-10:00;2路,6:30-21:00,换乘站为:d
这是我写的SQL语句:提示a,b附近有错
select distinct a.公交线路,b.公交线路,a.站点名称 from 公交信息表 where 公交线路 in
(select 公交线路 from 公交线路表 where 经过站点 in
(select 站点编号 from 站点信息表 where 站点名称='二环北路')) a,
(select distinct 公交线路 from 公交线路表 where 经过站点 in(select 站点编号 from 站点信息表 where 站点名称='金殿')) b
where a.经过站点=b.经过站点
帮我改下这个语句
公交换乘查询,sql语句
答案:4 悬赏:70 手机版
解决时间 2021-03-16 09:52
- 提问者网友:沉默菋噵
- 2021-03-16 03:36
最佳答案
- 五星知识达人网友:西风乍起
- 2021-03-16 03:56
--无换乘线路查询(直接返回线路):
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.站点编号
--多次换乘用一个语句就不行了,需要做循环
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.站点编号
--多次换乘用一个语句就不行了,需要做循环
全部回答
- 1楼网友:孤独的牧羊人
- 2021-03-16 07:33
select distinct a.公交线路,b.公交线路,a.站点名称 from 公交信息表
光你这一句就会报错了.要把所有的表加到后面的.
你的查询结构是
select *** from tab 1 where *** in tab 2 where ***
- 2楼网友:纵马山川剑自提
- 2021-03-16 06:11
这个sql语句会报错,稍改一下就好:
--无换乘线路查询(直接返回线路):
SELECt DISTINCT a.公交线路 FROM
(SELECt * FROM 公交线路表 WHERe 经过站点 IN (select 站点编号 from 站点信息表 where 站点名称='二环北路')) a
INNER JOIN
(SELECt * FROM 公交线路表 WHERe 经过站点 IN (select 站点编号 from 站点信息表 where 站点名称='金殿')) b
WHERe a.公交线路 = b.公交线路
- 3楼网友:上分大魔王
- 2021-03-16 05:10
你先给text控件命名,起点站的text框叫 startstop、终点站叫 endstop
然后在提交到的action页面用如下语句查询:
asp: select id from 公交查询表 where name1='"&request.form("startstop")&"' and name2='"&request.form("endstop")&"'
php : select id from 公交查询表 where name1="{_post['startstop']}" and name2="{_post['endstop']}"
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯