| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 306 人关注过本帖
标题:[求助]两个头疼了几天的问题? 大家帮我看看? 谢谢!!
收藏  订阅  推荐  打印 
im286
Rank: 1
等级:新手上路
帖子:3
积分:130
注册:2007-3-27
[求助]两个头疼了几天的问题? 大家帮我看看? 谢谢!!

做一个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-4-1 02:15
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.070315 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved