MS Accessのレコードソースに構文エラー(「オペレータが見つかりません」)が表示されます。 SQL Server 2012は問題なく実行しますが、Access 2016に実行させるとこのエラーが発生します。私はAccessには別のケース・ステートメントの要件があると思いますが、わかりません。MS Accessクエリの構文エラー
SELECT
r.Rubrieknaam,
CASE
WHEN (SELECT count(Voorwerpnummer)
FROM VoorwerpInRubriek
WHERE rubrieknummer = r.Rubrieknummer) IS NULL
THEN 0
ELSE (SELECT count(Voorwerpnummer)
FROM VoorwerpInRubriek
WHERE rubrieknummer = r.Rubrieknummer)
END AS [nInRubriek],
CASE
WHEN (SELECT Count(*)
FROM Rubriek
WHERE HoofdrubriekNr = r.rubriekNummer) IS NULL
THEN 0
ELSE (SELECT Count(*)
FROM Rubriek
WHERE HoofdrubriekNr = r.rubriekNummer)
END AS [nSubrubrieken],
CASE
WHEN (SELECT Rubrieknaam
FROM Rubriek
WHERE Rubrieknummer = r.hoofdrubrieknr) IS NULL
THEN 'N.V.T.'
ELSE (SELECT Rubrieknaam
FROM Rubriek
WHERE Rubrieknummer = r.hoofdrubrieknr)
END AS [Hoofdrubrieknaam]
FROM
Rubriek r;
誰でも問題が分かっていますか?
ありがとうございます。
MS Accessは 'case'をサポートしていません。さらに、サブクエリの 'count()'は 'NULL'を返しません。' 0'を返します。 –