Access重複クエリに関するご質問
- Access重複クエリを用いて、日本語と英語が重複するレコードを抽出したい。
- 判定が「o」または「x」のレコードに加えて、日本語と英語が重複するレコードを抽出したい。
- 判定が「o」または「x」のレコードにおいて、日本語と英語が重複しないレコードを抽出したい。
- ベストアンサー
Access重複クエリに関するご質問
Access重複クエリを用いて、以下のような結果を出したいのですが 可能でしょうか? ご指導の程よろしくお願いいたします。 (例) <テーブル> ID 判定 日本語 英語 1 o テスト test 2 o 赤 red 3 x 油 apple 4 o 愛 love 5 x りんご apple 6 o 日本 Japan 7 o テスト test 8 o りんご apple 9 x 赤 blue 10 o テスト test <クエリ結果(1)> ・日本語重複、かつ、英語重複のレコードを、重複単位に並べ替えて抽出したい。 ※ID「3」の英語は重複しているが、日本語が重複していないので抽出しない。 ※ID「9」の日本語は重複しているが、英語が重複していないので抽出しない。 ID 判定 日本語 英語 1 o テスト test 7 o テスト test 10 o テスト test 5 x りんご apple 8 o りんご apple <クエリ結果(2)> ・クエリ結果(1)に加えて、判定が「o」、「x」どちらも含まれるレコードだけを抽出したい ※ID「1、7、10」は、判定がすべて「o」の為、抽出しない。 ID 判定 日本語 英語 5 x りんご apple 8 o りんご apple 以上ご教授の程よろしくお願いいたします。
- candle1
- お礼率40% (11/27)
- その他(データベース)
- 回答数2
- ありがとう数1
- みんなの回答 (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は、更新可能です。
その他の回答 (1)
- 30246kiku
- ベストアンサー率73% (370/504)
提示された元のテーブル名を「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
- Access 重複しないクエリの選択
二つのクエリ上で重複しないクエリを抽出したいのですが、どのように設定すればいいのでしょうか? ex) クエリ1 ID -------------- 100 101 102 103 クエリ2 ID ----------- 100 102 103 のとき、クエリ1とクエリ2から ID 101を抽出したい
- ベストアンサー
- その他(データベース)
- access クエリ 重複について
2つのテーブルA,Bでクエリを作成するのですが、 テーブルA,Bを別々に条件Xによって抽出した場合、抽出されるレコード数は違います。 希望する抽出結果は、 テーブルAの条件Xによる抽出結果AXに テーブルBの条件Xによる抽出結果BXを割り当てていき、 BXが足りなくなったら、以降は空白となる。 です。 前提としてレコード数は、必ずAX>BXです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Accessのクエリ
すみませんが教えて下さい。 Accessのクエリで、重複したレコードがある場合 例) ID 生年月日 区分1 001 1977/01/23 22 001 1977/01/23 22 002 1985/02/05 23 002 1985/02/05 23 * * * * * 結果を 001 1977/01/23 22 002 1985/02/05 23 だけの表示したいのですがどのような方法がありますか。
- ベストアンサー
- その他(データベース)
- Access97のクエリーについて
Access97のクエリーで次のようなデータ抽出をしたいのですが、設定方法が良く分かりません。 1.約20000レコードのCSVファイルを外部データ のインポートでTDLを作成。 2.重複クエリーを走行すると、約10000レコードが 重複していた。 3.作成したTBLから重複者がいないデータを抽出した い。 イメージ: 処理前 a,2222,111,1,1234567 a,1111,100,1,0001234 b,0001,234,1,5555511 c,0003,001,1,0005555 c,0005,201,1,3345678 ↓(クエリー) 処理後 a,1111,100,1,0001234 b,0001,234,1,5555511 c,0003,001,1,0005555 どのような、関数、クエリーを使えば実現できるのでしょ うか。ご教示の程よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ACCESS2000の重複クエリ
よろしく、お願いします。 ACCESS2000+Win2000で使用しています。 ACCESS2000の”テーブルA”の”フィールドa”の”重複クエリ甲”の結果としてX、Y、Zというデータが出たとします。 そのうち、XのみにテーブルAの”フィールドb(Yes/No型)”にフラグを立てたいのですが、良い方法はありませんか? 私は重複クエリ甲に、更新クエリで更新する事は出来ませんよね? 甲と同じく”重複クエリ乙”を作って、乙は”集計”で先頭のみを出して、甲と乙の”不一致クエリ”で差分を出してみたりもしたのですが、更新クエリを使えない為に、フラグを立てられません。 何か良い方法を教えてください。 お願い致します。
- 締切済み
- オフィス系ソフト
- Accessクエリ
お世話になります。 Access初学者です。 グループごとに日付が最大のレコードを、それぞれ1件抽出するクエリを作成したいと思っています。 IDを表示させなければできるのですが、IDを表示させると全レコードが抽出されます。どのようにすればいいのでしょうか? よろしくお願いします。
- ベストアンサー
- Access(アクセス)
- Accessでクエリに規則性の無い重複データが
Accessに二つのテーブルを作りました。 Tユーザー情報 ・ユーザーID ・郵便番号 ・性別 T都道府県 ・都道府県名 ・郵便 Tユーザー情報には都道府県のデータがないため、 T都道府県とひもづけたいのです。 続いてクエリを作成しました。 ・ユーザーID(Tユーザー情報) ・性別(Tユーザー情報) ・郵便番号(Tユーザー情報)→リレーションシップ:郵便(T都道府県) ※結合プロパティで「両方のテーブルの結合フィールドが同じ行だけを含める。」 ※無効な〒番号のユーザーは省きたいため ・都道府県(T都道府県) 結果、Tユーザー情報の件数よりも、クエリのレコードの件数が多くなってしまいました。 ユーザーIDを見ると、全く同じレコードが数行混ざっていました。 重複レコードはそれぞれ件数が違い、規則性も見つかりません。 全体で10万件のうち8千件くらいの重複データができてしまいます。 googleで調べると、もともと重複データのあるレコードを削除する方法は あるようですが難しく、そもそも重複データを作らない方法が見つかりません。 クエリの作り方が間違っているのでしょうか… どうぞよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- ACCESS2003でクエリの質問です
クエリを教えて下さい。 ACCESS2003でクエリを作成したいのですが テーブルに以下のようにデータが入っています。 ID 日付 項目あ 項目い 項目う 項目え 項目お 001 2009/08/27 A B C 001 2008/08/27 D E F G 002 2009/08/27 H I 002 2008/08/27 K L M 002 2007/08/27 K L O M 同一IDで日付の新しいレコードを抽出するのですが、 もしNULLの項目があれば、日付の古いレコードから編集したいです。 結果としては以下のようなテーブルを作成したいです。 [002]の[項目お]の様に過去日付のものがNULLであれば編集はしません。 ID 日付 項目あ 項目い 項目う 項目え 項目お 001 2009/08/27 A E B C G 002 2009/08/27 K H O I また以下のように過去日付のデータが異なる場合は 事前のチェックでエラーとして別テーブルに出すように考えていますが、 こちらも合わせて教えていただけると助かります。 ID 日付 項目あ 項目い 項目う 項目え 項目お 003 2009/08/27 N O P Q 003 2009/08/27 N O P R Q 003 2009/08/27 N O P S Q SQLが苦手で困っています。 宜しくお願いします。
- 締切済み
- その他(データベース)
- Access2000で重複データに・・・
Access2000の重複データの処理について質問です。 あるフィールドの重複レコードを検索し、該当するレコードの別フィールドに「●」をつけようとしています。ただ、重複する最初のレコードには「●」をつけたくないのです。 例えば aaa ・・・ (1) bbb aaa ・・・ (2) ccc aaa ・・・ (3) eee というフィールドだった場合、(1)には「●」をつけずに(2)以降にのみつけたいのです。 重複クエリで重複レコードを抽出して重複テーブル作成→重複テーブルと元テーブルを組み合わせて更新クエリ作成という方法でやったのですが、そうすると(1)にも「●」がついてきます。(当然ですが・・・) 何か名案があれば教えてください。 やはり、VBAを使わないと無理でしょうか・・・?
- ベストアンサー
- オフィス系ソフト
- Access集計クエリについて
Access集計クエリについて質問です。 (例) [フィールド名] りんご バナナ オレンジ りんご りんご バナナ ↓ <抽出条件> [フィールド名] 集計:[フィールド名] グループ化 カウント とすると、 ↓ <抽出結果> [フィールド名] 集計 りんご 3 バナナ 2 オレンジ 1 となります。 上記抽出結果を基に、集計カウント数が「3」の場合はOK、それ以外はNGというフィールドを追加したいのですが、その時の抽出条件はどうすればいいのでしょうか? <抽出結果> [フィールド名] 集計 判定 りんご 3 OK バナナ 2 NG オレンジ 1 NG Access初心者です。 どうぞよろしくお願いいたします。
- ベストアンサー
- その他(データベース)
お礼
ありがとうございます。 無事できるようになりました。 重ねてお礼申し上げます。