【发布时间】:2013-01-03 02:13:08
【问题描述】:
我有一个名为 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 ...
【问题讨论】:
-
您能告诉我们表格结构(哪些字段在哪个表格中)以及您是如何连接表格的。如果没有看到查询,很难说出为什么会发生这种情况。
-
把你的表格截图放上数据
-
我无法进行屏幕截图,因为查询位于使用受限的单机上
-
表:到达字段:MissionID(文本),ArrivalTime(双),DepartureTime(双),DepartureLocation(文本),ArrivalLocation(文本),资产(文本)表:飞机字段:资产(文本), 主页(文本)
-
qry:选择aircraft.Home,aircraft.Asset,arrival.DepartureTime,min(arrival_1.ArrivalTime)作为Next_Home_Stop,max(arrival_2.ArrivalTime)作为LastStop从抵港作为抵港1右加入((飞机内在到达时加入到达.DepartureLocation=aircraft.Asset 和到达.Asset=aircraft.Asset) 在到达_2.Asset=arrival.Asset 和到达_2.ArrivalTime>arrival.DepartureTime) 上到达_1.Asset=arrival.Asset 和arrival_1.ArrivalTime>arrival.DepartureTime 和arrival_1.ArrivalLocation=arrival.DepartureLocation group by ...