语法错误缺少运算符
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
当然也有可能是子查询的算术逻辑有问题。专注于让子查询首先工作。
我提出了一个老问题,但我无法让它与答案一起工作: 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
当然也有可能是子查询的算术逻辑有问题。专注于让子查询首先工作。