查询时访问缺少运算符

时间:2014-03-04 15:43:31

标签: sql ms-access syntax

我一直试图弄清楚为什么我的错误操作错误而不是他的查询。

查询如下:

SELECT DISTINCT
  FLEET.regno
, SUBMODEL.submodel
, FLEET.icao
, FLEET.startyr
, CARRIERS.sector
FROM (FLEET
INNER JOIN SUBMODEL
ON FLEET.[M/S/Variant] = SUBMODEL.[M/S/Variant]
INNER JOIN LOOKUP
ON
  (SUBMODEL.SUBMODEL = LOOKUP.SUBMODEL
  AND FLEET.ICAO = LOOKUP.ICAO)
INNER JOIN CARRIERS
ON FLEET.icao = CARRIERS.ICAO)
WHERE (
  LOOKUP.[ASM/ac] is not null
  OR LOOKUP.[ATM/ac] is not null
) AND FLEET.status = 'ACTIVE';

Access 2010引发了以下错误:

  

语法错误(查询表达式中缺少运算符   'FLEET。[M / S / Variant] = SUBMODEL。[M / S / Variant] INNER JOIN LOOKUP ON   (SUBMODEL.SUBMODEL = LOOKUP.SUBMODE'。

我尝试将括号放在不同的地方,但仍然遇到问题。这里有什么我想念的东西。

1 个答案:

答案 0 :(得分:2)

我们修好了它:

SELECT DISTINCT
  FLEET.regno
, SUBMODEL.submodel
, FLEET.icao
, FLEET.startyr
, CARRIERS.sector
FROM ((FLEET
INNER JOIN SUBMODEL
ON FLEET.[M/S/Variant] = SUBMODEL.[M/S/Variant])
INNER JOIN LOOKUP
ON
  SUBMODEL.SUBMODEL = LOOKUP.SUBMODEL
  AND FLEET.ICAO = LOOKUP.ICAO)
INNER JOIN CARRIERS
ON FLEET.icao = CARRIERS.ICAO
WHERE (
  LOOKUP.[ASM/ac] is not null
  OR LOOKUP.[ATM/ac] is not null
) AND FLEET.status = 'ACTIVE';