❶ 公交换乘查询,sql语句
--无换乘线路查询(直接返回线路):
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.站点编号
--多次换乘用一个语句就不行了,需要做循环
❷ 公交一次换乘,sql语句实现,求大神帮忙啊。。。。
这个很简单啊,但感觉你的数据有问题
❸ sql查询:请教一个公交车刷卡换乘率的sql语句
你用 Count(distinct kbg)
这句话可以使在同一公交车上一个卡刷多次的只记录一次
❹ sql语句实现公交一次换乘,因为不会存储过程是怎么操作的,能否用sql关联方式实现
这个比较烦,应该还是可以做的:
(不换乘的结果)
select a.route_id, NULL, a.route_id
from route_station a
where 1 in (select station_id from a)
and 8 in (select station_id from a);
换乘一次:
select a.route_id,a.station_id, b.route_id
from route_station a, route_station b
where a.route_id<>b.route_id and a.station_id=b.station_id
and 1 in (select station_id from a) and 8 in (select station_id from b)
换乘两次的按照换乘一次的扩展一下应该不难。
❺ 公交换乘查询sql语句
无换乘线路查询(直接返回线路):
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.站点编号
--多次换乘用一个语句就不行了,需要做循环
❻ sql语句的问题,请求帮助!!
select a.BUS_NUMBER,b.BUS_NUMBER,a.BUS_STATION from
(select * from t_bus where BUS_NUMBER in
(select BUS_NUMBER from t_bus where bus_station='a')) a,
(select * from t_bus where BUS_NUMBER in
(select BUS_NUMBER from t_bus where bus_station='q')) b
where a.BUS_STATION=b.BUS_STATION;
解释一下,(select * from t_bus where BUS_NUMBER in
(select BUS_NUMBER from t_bus where bus_station='a')) a是查询所有经过a站点的车次
(select * from t_bus where BUS_NUMBER in
(select BUS_NUMBER from t_bus where bus_station='q')) b是查询所有经过q站点的车次
当这两个车次中有同样的站名的时候也就是换乘站,所以最后a.BUS_STATION=b.BUS_STATION
❼ C#实现公交路线查询时,要求能够换乘,需要怎么建立数据库
公交车ID 当站 下一站
101 A B
101 B C
101 C D
中途下车到站X,根据当站X,和目标站Y,查询可在当站乘坐的公交车ID(当站有X,且下一站有Y的公交车ID)
❽ 写一个SQl查询语句
简单sql ,只能关联 已知的连接次数。(下面这个sql 假设导2次车,如果倒3次以上车在增加相应的UNION语句)
建议写一个函数,递归调用,得到多次乘车的换乘方法。网上也有一些例子也可以看下
网络文库http://wenku..com/view/f97ee821af45b307e8719712.html
select distinct a.name, a.bus_no, b.name, b.bus_no
from bus a, bus b
where a.bus_no = b.bus_no
and a.name = '武林门'
and b.name = '城站火车站'
union
select distinct a.name, a.bus_no, b.name, b.bus_no
from (select * from bus where bus.name = '武林门') a,
(select a.bus_no pre_no,
a.name a_name,
b.bus_no suss_no,
b.name b_name
from bus a, bus b
where a.name = b.name
and a.bus_no <> b.bus_no
and a.name<>'武林门'
and b.name<>'城站火车站') w,
(select * from bus b where b.name = '城站火车站') b
where a.bus_no = w.pre_no
and w.suss_no = b.bus_no
and a.bus_no <> b.bus_no
union
select distinct a.name, a.bus_no, b.name, b.bus_no
from (select * from bus where bus.name = '武林门') a,
(select a.bus_no pre_no,
a.name a_name,
b.bus_no suss_no,
b.name b_name
from bus a, bus b
where a.name = b.name
and a.bus_no <> b.bus_no
and a.name<>'武林门') w1,
(select a.bus_no pre_no,
a.name a_name,
b.bus_no suss_no,
b.name b_name
from bus a, bus b
where a.name = b.name
and a.bus_no <> b.bus_no
and a.name<>'武林门'
and b.name<>'城站火车站') w2,
(select * from bus b where b.name = '城站火车站') b
where a.bus_no = w1.pre_no
and w1.suss_no = w2.pre_no
and w2.suss_no = b.bus_no
and a.bus_no <> b.bus_no
❾ 公交2次换乘算法
呃,我来给你说说。先假设一个情况:你的公交次数卡里面有10次余额。你拿公交次数卡在8:13第一次刷卡(还剩下8次),那么在10:13之内的这段时间,你可以在任意一辆接受次数卡的公交车上(除了你在8:13时刷卡的那辆公交车,当然一般不会出现这种情况)再另外刷3次(仍然剩8次)。但是有一个条件:你刷过之后的公交车(注意是公交车,不是公交线路)是不再接受你再次刷次数卡的,这时就要扣你电子钱包里面的钱,如果没有电子钱包你就只有投币。2小时之内你刷卡的次数超过了4次,比如你在8:13刷了一次,在10:13之内,你已经又刷了3次,那么在10:13之内你仍旧需要转乘的话就要另外计算次数。比如你在9:55的时候你已经是乘坐了四次,达到了最高次数,那么转乘就要重新扣你的次数。9:55时你又转乘另外一趟公交车刷次数卡,这时就要重新扣你的次数(只剩下6次)。刷卡的原则是次数优先,如果没有次数就扣电子钱包的钱,如果两种方式都不能足够支付你乘车费用,就只能投币了。转乘不分普通车和中级车,你在普通车上刷了之后拿到中级车上也是不扣次数,但要计入转乘次数的记录。
❿ 谁有城市公交线路查询系统换乘的源代码,急求。(数据库是SQL. SERVER 工具是vs200
1、config.php(功能说明:存储一些在整个程序中要用到全局变量。)
<?
$hostname="localhost";
$db_user="root";
$db_password="faleier2046007";
$db_name="bus";
$table_Stop="bus_stop";
$table_Route="bus_route";
$table_Stop_Route="bus_stop_route";
$table_RouteT0="bus_routet0";
$table_GRouteT0="bus_groutet0";
$table_nochange="temp_nochange";
$table_once="temp_once";
$table_twice="temp_twice";
?>
2、conn.php(功能说明:实现与数据库的连接。)
<?php
require_once "config.php";
@mysql_connect($hostname,$db_user,$db_password)
or die("could not connect to mysql server");
@mysql_select_db("$db_name") or die("could not select database");
13/22页
mysql_query("set character set gb2312");
?>
3、index.php(功能说明:程序首页,查询输入界面。) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <TITLE> 六安公交查询系统 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY background="images/bj.gif">
<script type="text/javascript" src="js/main.js"></script>
<link href="css/bus.css" rel="stylesheet" type="text/css"
media="screen" /><link href="css/bus1.css" rel="stylesheet" type="text/css" media="screen" />
<table border=0 align=center>
<tr>
<td height=100>
</td>
</tr>
<tr>
<td>
<TABLE border=0 align=center height=300 width=630 bgcolor="#EDF3CD"> <tr>
<td colspan=3 align=center height=25%>
<img border="0" src="images/banner.jpg" width="400" height="75"></td> </tr>
<tr>
<td width=231 rowspan="3">
<table border=0>
<tr>
<td>
<?php
require "conn.php";
$query_all_path="select distinct(RouteGenName) from $table_Route"; $info=mysql_query($query_all_path);
while($it=mysql_fetch_array($info))
{
echo "<a
14/22页
href=searchpath.php?path=$it[RouteGenName]>".$it['RouteGenName']."</a>"." ";
}
?>
</table >
</td>
<td width=4 height="19">
</td>
<td width="381" rowspan="3">
<div class="headRi">
<div class="headMenu">
<span id="it_1" onclick="ishow('it',3,1,'open','')" class=