语法错误缺少运算符

syntax error missing operator

我提出了一个老问题,但我无法让它与答案一起工作: Old link

有人给了我这个答案:

SELECT 
        SUM(TotaalPrijs) As TotaalPrijs,
        AutoNR,
        AutoKlasse,
        MAX(Dagen) as Dagen,
        dag125KM as PrijsPerDag,
        ExtraKM As PrijsPerExtraKM,
        FactuurNR,
        KlantNR,
        Begindatum,
        Einddatum,
        Borg,
        voorletters,
        tussenvoegsel,
        achternaam,
        straatnaam,
        huisNR,
        Postcode,
        rekeningNR,
        Plaats,
        KMteVEEL,
        BorgA
        FROM     (SELECT p.Borg as BorgA,f.Dagen, f.AutoNR AS carNR, a.AutoNR, a.Klasse AS AutoKlasse, p.Klasse, p.dag125KM, p.ExtraKM, (p.dag125KM*f.Dagen) AS MinPrijs, f.FactuurNR, f.KlantNR, f.Begindatum, f.Einddatum, f.Borg, (KMteVEEL*[Prijzen]![ExtraKM])+([Prijzen]![dag125KM]*[Factuur]![Dagen]) AS TotaalPrijs, g.voorletters, g.tussenvoegsel, g.achternaam, g.straatnaam, g.huisNR, g.Postcode, g.rekeningNR, g.Plaats, IIf([Factuur]![EindKMStand]-[Factuur]![BeginKMStand]-([Factuur]![Dagen]*125) < 0, 0, [Factuur]![EindKMStand]-[Factuur]![BeginKMStand]-([Factuur]![Dagen]*125))  AS KMteVEEL
                  FROM autos a
                  INNER JOIN Factuur f  ON a.AutoNR = f.AutoNR
                  INNER JOIN Prijzen p  ON a.Klasse = p.Klasse
                  INNER JOIN Gegevens g ON f.KlantNR = g.KlantNR    

       ) AS sub
GROUP BY AutoNR,
        AutoKlasse,
        dag125KM, 
        ExtraKM,
        FactuurNR,
        KlantNR,
        Begindatum,
        Einddatum,
        Borg,
        voorletters,
        tussenvoegsel,
        achternaam,
        straatnaam,
        huisNR,
        Postcode,
        rekeningNR,
        Plaats,
        KMteVEEL,
        BorgA

但我收到缺少运算符的语法错误。 有什么方法可以使它正常工作吗? 您可能想查看旧问题以更好地理解案例。

谢谢,

MS Access 需要在 join 运算符周围加上括号,因为 as 用于 table 别名。将 from 替换为:

FROM (SELECT p.Borg as BorgA, f.Dagen, f.AutoNR AS carNR, a.AutoNR, a.Klasse AS AutoKlasse, p.Klasse, 
             p.dag125KM, p.ExtraKM, (p.dag125KM*f.Dagen) AS MinPrijs, f.FactuurNR, f.KlantNR, 
             f.Begindatum, f.Einddatum, f.Borg,
             (KMteVEEL*[Prijzen]![ExtraKM])+([Prijzen]![dag125KM]*[Factuur]![Dagen]) AS TotaalPrijs,
             g.voorletters, g.tussenvoegsel, g.achternaam, g.straatnaam, g.huisNR, g.Postcode, 
             g.rekeningNR, g.Plaats,
             IIf([Factuur]![EindKMStand]-[Factuur]![BeginKMStand]-([Factuur]![Dagen]*125) < 0, 0, [Factuur]![EindKMStand]-[Factuur]![BeginKMStand]-([Factuur]![Dagen]*125))  AS KMteVEEL
      FROM ((autos as a INNER JOIN
             Factuur as f
             ON a.AutoNR = f.AutoNR
            ) INNER JOIN
            Prijzen as p
            ON a.Klasse = p.Klasse
           ) INNER JOIN
           Gegevens as g
           ON f.KlantNR = g.KlantNR  
    ) sub  

当然也有可能是子查询的算术逻辑有问题。专注于让子查询首先工作。