标题:[求助]两个头疼了几天的问题? 大家帮我看看? 谢谢!!
只看楼主
im286
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-3-27
 问题点数:0 回复次数:0 
[求助]两个头疼了几天的问题? 大家帮我看看? 谢谢!!

做一个C#的应用程序,主要是实现 火车票的查询功能,数据库是MSSQL,库有两张表,结构如下:
表 1: 线路详细信息表(记录每个车次的途径详细信息)
结构说明: CID(主键约束), TrainID(列车编号), NumStation(途径站点编号,每站递增1), CityName(途径站名称)
ArrivalTime(该站发车时间), LeaveTime(该站离开时间), Distance (途径路程),TotalTime(耗费时间)



表2: 起始站详细信息(记录所有的车次的始发站,和终点站)
结构说明:ID(自动编号),TrainID(列车编号),StartName (始发站),TerminalName(终点站),TotalDistance(线路总长)



问题1: 现在想查询任意两地之间所有列车的详细信息情况(譬如说 从 天津到合肥 )

需要显示的格式如下: 列车编号,起点站(天津),本站到达时间,本站发车时间,抵达站(合肥),抵达站时间,两地之间的距离,列车的始发站,列车的终点站,.....

现在我的代码如下:
SELECT DISTINCT (Train.TrainID),Line.CityName,
'合肥'AS 抵站,Line.ArrivalTime,Line.LeaveTime,
Train.StartName,Train.TerminalName,Train.TotalDistance AS 总里程
FROM TrainInfo,LineInfo WHERE Train.TrainID = Line.TrainID
AND CityName = '天津'
AND LineInfo.TrainID IN (SELECT TrainID FROM LineInfo WHERE CityName = '合肥')
此方法只能显示上车地点(天津)的车次时间,到达合肥的时间,还有两地之间的总里程数,我实在是不知道该如何查询,如果用变量,在程序后台很不方便,不知道有没有别的方法能够实现呢??

问题2: 如果任意两地(数据库存在)不存在直接到达的车次,查询出所有的可用中转站点.

我的代码如下:(譬如说,北京到 虎林市)
select distinct cityname from lineinfo where trainid in
(select trainid from lineinfo where cityname='北京'and
trainid in (select trainid from lineinfo where cityname in
(select cityname from lineinfo where trainid in
(select trainid from lineinfo where cityname='虎林'))))

这么查询结果正确吗?

搜索更多相关主题的帖子: 火车票 数据库 途径 始发站 头疼 
2007-04-01 02:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-128460-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.416334 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved