アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESS2003にて
選択クエリAをSQLビューで開きSQL文をコピー、
新規作成したクエリBのSQLビューに貼り付けて実行したところ、
AとBで結果の件数が異なりました。

そのままBを保存して終了。
BをSQLビューで開き、
SQL文の末尾の;を削除して実行すると、
Aと同じ件数の結果になりました。

再度Bを保存して終了し、
BをSQLビューで開き、
SQL文の末尾の;を削除して実行すると、
Aと異なる件数(元の結果)になりました。

何が原因なのでしょうか。
SQL文の内容は、サブクエリを含んでいて、サブクエリのFROMは
SQLSERVERのリンクテーブルです。

よろしくお願いします。

A 回答 (1件)

文末のセミコロンの有無でSQLの結果が変わるというのは聞いたことがないなあ…


ちょっと遠回りだけど、2つの文で結果がどう異なるかをもう少し調べた方がよさそうです。
件数が異なる、ということはどちらかのSQLによって、本来抽出すべきデータが抽出されない、
または余分なデータが抽出されてしまう、ということが起きているはずです。
なので、両者の結果をテーブルにでも書き出して一方にしか含まれないデータを確認し、
そこから可能性を推測して、できれば検証(同じようなデータを追加して予想通りになるか)
といった手順を踏んでいくのが、遠いようで実は解決に近いかもしれません。
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
neko_nokoさん回答ありがとうございます。

書出してみました。
セミコロンを消して保存するごとに件数が変わるのですが、
多い方が正しく抽出していることがわかりました。

しかし少ない方がなぜ正しく抽出しないのかはわかりませんでした。
(SQL文自体は多いときも少ないときも同じなのです)

現在、なにを手がかりにしてよいのかもわからない状態です。

お礼日時:2007/11/21 16:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す