select a.TrainId as 车次,a.StationName as 起始站,b.StationName as 终点站,
convert(varchar,b.ArriveTime,108) as 到站时间,convert(varchar,b.ArriveTime-a.LeaveTime,108) as 运行时间,
b.Distance-a.Distance as 距离km
from dbo.Trains a inner join dbo.Trains b
on a.TrainId=b.TrainId and  a.StationId=(SELECT min(StationId)
FROM dbo.Trains 
WHERE  exists (SELECT   TrainId
 FROM dbo.Trains 
 WHERE StationName='郑州'))
  and b.StationId=(SELECT MAX(StationId)
FROM dbo.Trains 
WHERE  exists (SELECT   TrainId
 FROM dbo.Trains 
 WHERE StationName='郑州'))
查询结果:查询结果只显示出一条,可是实际上应该还有别的啊。求大神