- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSのクエリで同じSQL文だが結果が異なる)
ACCESSのクエリで結果が異なる理由とは?
このQ&Aのポイント
- ACCESS2003において、同じSQL文であるにも関わらず、選択クエリAと新規作成したクエリBで結果の件数が異なる現象が発生しました。
- クエリBのSQL文の末尾にあるセミコロンを削除すると、クエリAと同じ件数の結果になります。
- 原因としては、SQL文にサブクエリが含まれており、サブクエリのFROM句がSQLSERVERのリンクテーブルを参照していることが考えられます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
文末のセミコロンの有無でSQLの結果が変わるというのは聞いたことがないなあ… ちょっと遠回りだけど、2つの文で結果がどう異なるかをもう少し調べた方がよさそうです。 件数が異なる、ということはどちらかのSQLによって、本来抽出すべきデータが抽出されない、 または余分なデータが抽出されてしまう、ということが起きているはずです。 なので、両者の結果をテーブルにでも書き出して一方にしか含まれないデータを確認し、 そこから可能性を推測して、できれば検証(同じようなデータを追加して予想通りになるか) といった手順を踏んでいくのが、遠いようで実は解決に近いかもしれません。
お礼
お礼が遅くなり申し訳ありません。 neko_nokoさん回答ありがとうございます。 書出してみました。 セミコロンを消して保存するごとに件数が変わるのですが、 多い方が正しく抽出していることがわかりました。 しかし少ない方がなぜ正しく抽出しないのかはわかりませんでした。 (SQL文自体は多いときも少ないときも同じなのです) 現在、なにを手がかりにしてよいのかもわからない状態です。