• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access重複クエリに関するご質問)

Access重複クエリに関するご質問

このQ&Aのポイント
  • Access重複クエリを用いて、日本語と英語が重複するレコードを抽出したい。
  • 判定が「o」または「x」のレコードに加えて、日本語と英語が重複するレコードを抽出したい。
  • 判定が「o」または「x」のレコードにおいて、日本語と英語が重複しないレコードを抽出したい。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

#1です 訂正です。 以下の様なデータがあった場合は想定していませんでした。 ID 判定 日本語   英語 ・・・・ 11   o  テスト   tests 12   o  テスト   tests 1)での ORDER BY 日本語, ID は、ORDER BY 日本語, 英語, ID としてください。 2)での 日本語=Q2.日本語 の後に、 AND 英語=Q2.英語 を追加してください。 重複クエリを使った例になっていなかったので、 1)は、 SELECT Q1.ID, Q1.判定, Q1.日本語, Q1.英語 FROM TE AS Q1 INNER JOIN (SELECT 日本語, 英語 FROM TE GROUP BY 日本語, 英語 HAVING Count(*)>1) AS Q2 ON (Q1.日本語=Q2.日本語) AND (Q1.英語=Q2.英語) ORDER BY Q1.日本語, Q1.英語, Q1.ID; 2)は、1)を「Q_TE_1」名で保存したとして(#1と変わりありませんが) SELECT ID, 判定, 日本語, 英語 FROM Q_TE_1 AS Q3 WHERE EXISTS (SELECT 1 FROM Q_TE_1 WHERE 判定<>Q3.判定 AND 日本語=Q3.日本語 AND 英語=Q3.英語); なお、これらは更新できない表示となります。 #1は、更新可能です。

candle1
質問者

お礼

ありがとうございます。 無事できるようになりました。 重ねてお礼申し上げます。

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

提示された元のテーブル名を「TE」と仮定します。 1)以下をクエリのSQLビューに記述します。 SELECT ID, 判定, 日本語, 英語 FROM TE AS Q1 WHERE EXISTS (SELECT 1 FROM TE WHERE ID<>Q1.ID AND 日本語=Q1.日本語 AND 英語=Q1.英語) ORDER BY 日本語, ID; 2)1)のクエリを 「Q_TE」名で保存したとします。 SELECT ID, 判定, 日本語, 英語 FROM Q_TE AS Q2 WHERE EXISTS (SELECT 1 FROM Q_TE WHERE 判定<>Q2.判定 AND 日本語=Q2.日本語); ※ データ量が多くなった場合の処理性能について、わかりません。

関連するQ&A