いくつかのテーブルにクエリを実行していますが、何らかの理由でMicrosoft Access 2016からSQLクエリJOIN ON
構文が正しくありません。具体的には、JOIN
構文が強調表示され、それを削除するときにON
構文が続きます(後者は、SQLの事前知識に基づく明確な理由によりJOIN ON
構文)。
これがコードです:
SELECT Column1, Column2, Table1.Column3
FROM Table1
JOIN Table2
ON Table1.Column3 = Table2.Column3
AND Column4 = '{NAME}'
ORDER BY Column4;
この構文に不正確な点はありますか?ちなみに、これはANSI-89構文を使用しています。
_INNER JOIN
_、_JOIN ON
_、_JOIN ON
_の組み合わせなしで、Access 2016の_INNER JOIN
_構文ではなく_LEFT OUTER JOIN
_構文ではなく_RIGHT OUTER JOIN
_構文が必要であることがわかったソリューションなどは、このDBMS(データベース管理システム)では機能しません。さらに、AND
論理演算子をWHERE
句に変更しました。これは、_JOIN ON
_構文の後にAND
が続くだけで、Access 2016では実行されないためです。さらに、_GROUP BY
_構文はこのクエリの最小要件を超えているため、削除しました。したがって、私の質問の解決策は次のとおりです。
_SELECT Column1, Column2, Table1.Column3
FROM Table1
INNER JOIN Table2
ON Table1.Column3 = Table2.Column3
WHERE Column4 = '{NAME}';
_
アクセスにはINNER JOIN
が必要です。単純なJOIN
(SQL標準ではデフォルトでINNER JOIN
になるはずです)はAccessでは許可されていません。