• ベストアンサー

2つのテーブルで重複する値のレコードを削除したい

削除クエリ?重複クエリ?について教えてください。 テーブル1 フィールド"番号"には 1 2 3 テーブル2 フィールド"番号"には 3 4 5 があるとします。 「テーブル2と重複しているテーブル1のレコードを削除する」 (この場合「3」が重複しているのでテーブル1の3が入力されているレコードを削除) としたいのですがどいゆうSQL文を書けばいいのかわかりません。 ご教授よろしくお願いします。

noname#150498
noname#150498

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

  • ベストアンサー
  • 6657
  • ベストアンサー率63% (7/11)
回答No.1

DELETE テーブル1.番号 FROM テーブル1 WHERE (((テーブル1.番号) In (SELECT テーブル2.番号 FROM テーブル2;))); これでできると思います。

noname#150498
質問者

お礼

やっと回答がついてよかったです!!!!! 実行してみたら思うとおりにできました。 大変感謝しています。 ご回答ありがとうございます。

関連するQ&A

  • ACCESSでの重複レコードの削除

    ACCESSで、重複レコードを引っ張ってくるのは、重複クエリでやれましたが、逆に、重複レコード(1つのフィールド、或いは複数のフィールドに着目しての)の削除は、やれないのでしょうか? イメージしているのは、エクセルのオートフィルタでの「重複データの削除」です。 よろしくお願い致します。

  • テーブルのレコード削除ができません

    SQLserver2000を触る事になり思った通りにならず困っております。 テーブルに主キーを設定せずデータ型を「int」でフィールドに重複する数値を入れてしまいました。 後から重複入力のミスに気づき重複したレコードを 「テーブルを開く」-「全行を返す」から1レコードを 削除しようとしたのですが、 「キー列の情報が足りないか、正しくありません。更新の影響を受ける行が多すぎます。」と表示され削除できません。 このテーブルは、多くのビューで使用してすでに動いている再作成することは難しいです。 このレコードを削除する良い方法はあるのでしょうか。 ご存知の先生方ご指導よろしくお願いいたします。

  • access・複数のテーブル・重複除外したデータ

    accessで複数のテーブルで重複しないレコードだけを抽出するSQL文を知りたいです。 フィールドは多数あり、「フィールドの内容が全て一致するレコード」以外のレコードを 重複しないレコードとして抽出したいと思っています。 テーブルは3つ以上ありますが、2つのテーブルで実行するSQL文でかまいません。

  • 重複しているレコードを一気に削除する方法

    重複しているレコードを一気に削除する方法はありますか? 主キー  フィールド1 フィールド2 1     あ     い 2     あ     い のように、主キー以外は重複していえるのですが この場合、1か2を削除する方法はありますか? 一つのテーブルに主キー以外の値が重複しているレコードが多々あるので一気に削除したいです。

  • ACCESS 重複データ削除の順番について

    追加クエリを使って重複データを削除する時に、削除されるデータについて質問です。 重複レコードを含むテーブルの構造のコピーを作成し、重複レコードを含むすべてのフィールドの主キーを作成して、元のテーブルから新しいテーブルへの追加クエリを実行して、重複レコードを一括削除をしています。 [操作についての参考URL] http://support.microsoft.com/kb/879852/ja =========================================== (テーブル) [ID]  [クラス]  [名前]   [時間]     1     A     ああ   11:00 ←重複 2     B     鈴木   12:00    3     C     アア   13:00     ←重複  4     A     ああ   14:00 ←重複 5     B     森    15:00   6     C     アア   16:00     ←重複  7     B     青山   17:00   8     C     アア   18:00     ←重複     9     A     ああ   19:00 ←重複 =========================================== 上記のようなテーブルで「クラス」と「名前」の2つのフィールドを主キーにした場合、 「A」の「ああ」さんと、「C」の「アア」さんが各3件ずつ重複しています。 しかし、「ID」と「時間」はそれぞれ違っています。 このような場合に、削除されないデータと削除されるデータの違いは何なのでしょうか? ACCESSの仕様でとか、レコードの若い番号順で削除されるとか、明確なルールが あれば教えていただけると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • Access 2007で、テーブルからレコードを削除するクエリを作りた

    Access 2007で、テーブルからレコードを削除するクエリを作りたい。 具体的には、テーブルAのフィールドF1とテーブルBのフィールドF2があるとします。このとき、テーブルA中の各レコード(仮にXとします)であって、そのF1の値と同じ値をF2に持つレコードがテーブルBに含まれている場合は、(テーブルAから)そのレコードXを削除するという処理をしたいのです。ややこしいと思いますが、これをクエリやマクロで作ることはできるでしょうか? 私はVBAを知らない初心者です。上の処理も文章で書くと理解してもらえるかどうか不安ですが、だれか助けて下さい。

  • 異なるテーブルのレコード削除

    オラクル初心者です。宜しくお願いします。 AAA、BBB、CCCというテーブルがあると仮定します。 画面から入力された値(ddd)をキーとして、CCCテーブルから該当するレコードをセレクト文で引っ張り、eeeという値を抜き出したとします。 そのeeeという値をキーにAAA、BBBテーブルのレコードを削除するにはどういうSQLを発行すればよろしいでしょうか? "delete from AAA, BBB where eee = (select eee from CCC where fff = ddd);" では駄目でした。 質問が下手でわかりにくいかもしれませんが、どうかご教授お願いします。

  • 重複レコードの削除

    あるテーブル(ここではTESTというテーブルとします)の重複レコードを削除したいので、以下のようなストアド・プロシージャを作成しました。 SELET DISTINCT * INTO TEST2 FROM TEST DELETE FROM TEST SELECT * INTO TEST FROM TEST2 DROP TABLE TEST2 開発終了後、システムの都合上、テーブルの追加はできないことが発覚し、TESTテーブル上で重複レコードを削除しなくてはならなくなりました。 カーソル等を利用すれば重複削除できると思いますが、ほかにシンプルな方法で重複レコードを削除する方法はありませんか?

  • 2つのテーブルに共通するレコードを削除したい

    2つのテーブルがあり、両方にID番号フィールドが存在しています。 Aテーブルは元のデータ Bテーブルは削除したいレコードのID番号 という構成になっているとき、 AテーブルとBテーブルの共通するレコードを削除するにはどうすればよいでしょうか。 ものすごく単純な質問で申し訳ないのですが...宜しくお願いします

  • 「削除するレコードを含んだテーブルを指定してくださ

    アクセスです。 DELETE T元テーブル.文字, T削除対象テーブル.文字 FROM T削除対象テーブル RIGHT JOIN T元テーブル ON T削除対象テーブル.文字 = T元テーブル.文字; このSQL文はどこがおかしいですか? T元テーブルとT削除対象テーブルで同じ文字があるのなら、T削除対象テーブルの文字のレコードを削除したいのですが、 この削除クエリを実行しようとすると 「削除するレコードを含んだテーブルを指定してください。」 とメッセージが出ます。 テーブルの指定はどこからどのように行えばいいのでしょうか? T削除対象テーブルを指定したいです。

専門家に質問してみよう