研究一下列车时刻表的后台表结构和常用的查询SQL

        刚开始上班,闲着没什么事情,搞到一份2012年1月1号的列车时刻表数据库,是access版本的,稍后我会给出下载链接,研究了一下表结构,觉得这样的表结构还是比较合理的。于是也考虑了一下大家经常使用的时刻表查询工具的后台SQL实现。我估计大多数的工具比如极品时刻表、路路通时刻表等等,都是这样实现的。首先给出表结构,

基于这样的表结构,给出常用的查询SQL。

--车次查询
select * from train where  id='K7726/K7727';
--车站查询
select * from train where  station='龙家营';
--站站查询
SELECT T1.id, T1.station, t1.d_time, T2.station, T2.a_time,t2.p1-t1.p1 as 票价
FROM train AS T1, train AS T2
WHERE T1.station='龙家营' and T2.Station='邯郸' and T1.S_NO<T2.S_NO and T1.id=T2.id;
--中转查询(邯郸到聊城没有直达车)
select t1.id,t1.station,t2.station,t2.a_time,t3.id,t3.d_time,t4.station,(t2.distance-t1.distance)+(t4.distance-t3.distance) as 总里程
from  train T1,train t2,train t3,train t4
where  T1.station='邯郸'
and    t4.station='聊城'
and    t1.id=t2.id  and t1.s_no<t2.S_No
and    t3.id=t4.id  and t3.s_no<t4.s_no
and    t2.station=t3.station and t3.d_time>t2.A_time
order by  (t2.distance-t1.distance)+(t4.distance-t3.distance) asc;
下面给出数据库的下载链接:

   点击此处到达下载地址

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值