我有一个名为 qry_sub_Loop 的查询,它使用左连接,并且作为左连接的结果,在名为 Next_Home_Stop 的派生字段中有一个空值。
我在基于 qry_sub_Loop 的其他查询中遇到问题。
作为隔离问题的测试,我尝试过:
- 从 qry_sub_Loop 中选择 *,其中 Next_Home_Stop 为空
- select * from qry_sub_Loop where Asset='C-5M-000001'
C-5M-000001 是一个资产,在某些行中的 Next_Home_Stop 中有一些值,而在其他行中为 null
查询 1) 不返回任何记录。查询 2) 仅返回 Asset='C-5M-000001' 且 Next_Home_Stop 不为空的行。
表:到达 - MissionID(文本) - 到达时间(双) - 出发时间(双) - 出发地点(文字) - 到达地点(文字) - 资产(文本) 表:飞机 - 资产(文本), - 主页(文字)
询问:
select
aircraft.Home, aircraft.Asset, arrival.DepartureTime,
min(arrival_1.ArrivalTime) as Next_Home_Stop,
max(arrival_2.ArrivalTime) as LastStop
From
arrival as arrival_1
right join ((aircraft
inner join arrival
on arrival.DepartureLocation = aircraft.Home and
arrival.Asset = aircraft.Asset)
inner join arrival as arrival_2
on arrival_2.Asset = arrival.Asset and
arrival_2.ArrivalTime > arrival.DepartureTime)
on arrival_1.Asset = arrival.Asset and
arrival_1.ArrivalTime > arrival.DepartureTime and
arrival_1.ArrivalLocation = arrival.DepartureLocation
group by ...