一个SQL查询

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:35:59
一张表flight,有五个字段
PlaneNo char(5) 飞机班次
StartArea char(20) 起飞地
StartTime time 起飞时间
EndArea char(5) 降落地
EndTime time 降落时间
要求用一句sql查出从南京飞往北京,并且中途转一次机的飞机班次

select a.PlaneNo from flight a,flight b where a.EndArea=b.StartArea
and a.StartArea ='南京' and b.EndArea='北京' and a.PlaneNo=b.PlaneNo
---------------------------------------------------------------------
select a.PlaneNo from flight a,flight b where a.EndArea=b.StartArea
and a.StartArea ='南京' and b.EndArea='北京' and a.PlaneNo=b.PlaneNo and b.StartTime>=a.EndTime

还要加一个时间判断...sql中测试通过

----------------------------------------------------
哈.速度没楼上的快啊```

没有转机标志或字段吗?
那估计需要进行一个自关联查询了。

select A.PlaneNo from (flight as A,flight as B) where ((A.StartArea = "南京") and ((A.EndArea = B.StartArea ) and (B.EndArea="北京")))and(A.EndTime<B.StartTime)
未测!
(A.EndTime<B.StartTime)这句很关键...