• ベストアンサー

SQL教えて下さい。

あまり詳しくないので教えて下さい。 Aテーブル Bテーブル があり Bに存在してAに存在しないBのデータを削除する SQL文を教えて下さい。 (Bのみのデータが削除したい) AとBのテーブルはKEY1で紐付いています。 知っている人には簡単なものかも知れませんが よろしくお願いします。

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

  • ベストアンサー
  • omotasam
  • ベストアンサー率28% (69/246)
回答No.2

>delete from b exsits (select * from a where a.key1 <> b.key1) delete from b where exsits (select * from a where a.key1 <> b.key1) ごめんなさいwhereが抜けてました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • omotasam
  • ベストアンサー率28% (69/246)
回答No.1

delete from b exsits (select * from a where a.key1 <> b.key1) んなかんじ?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • こんなSQLを教えてください

    こんなSQLを教えてください <更新前> テーブル1 |キー|コード| | 1|  a| | 2|  b| | 3|  c| テーブル2 |キー|コード| | 2|  B| | 4|  D| <更新後> テーブル1 |キー|コード| | 1|  a| | 2|  B| | 3|  c| こんなふうに テーブル1と同じデータがテーブル2にあったら テーブル1を書き換えるUPDATE文を教えてください

  • SQL文にて

    調べたり聞いたりしたのですが なかなか解らなかったので、質問させてください。 AテーブルとBテーブルとがあり、Aテーブルのみにしか 存在しないデータを一発で取得することはできるのでしょうか? Aテーブルのデータ数(100件) Bテーブルのデータ数(80件) Aのキー項目とBのキー項目とは同一です。 処理をしたい事はAとBとでAにしか存在しないデータを ループせずに一回のSQLで行えたらと思っています。

  • SQL・・・分かりません。

    SQLの勉強をしています。 仕事の研修で習っているのですが、基礎的なものを学習しましたが 応用したパターンが全く理解ができません。 例としまして ・AテーブルとBテーブルを結合して、データを抽出する ・Aテーブルに存在しているのに、Bテーブルに存在していないデータも抽出する ・しかし、Aテーブルに存在していないのに、Bテーブルに存在しているはデータは抽出しない ☆抽出方法に二パターン存在する 1つ目も全く見当つかずです。ヒントでよいので教えていただけたらと思います。 意味が分からなかったらすみません。何を描き足したらよいか教えて下さい。 宜しくお願いしたします。

  • SQLの記述について

    SQLの記述で Aトランザクションテーブル(以後Aテーブル)とBマスタテーブル(以後Bマスタ)が有り, AテーブルにBマスタの内容を反映させ或る条件のデータだけ抽出は可能でしょうか? 例 Aテーブルの内容をBマスタを検索しデータがAの場合のみ抽出 Aテーブル        Bマスタ キー  データ     キー  データ      001 0001    001 A 001 0002    002 B 002 0003    003 A 001 0004    004 C 002 0021 003 0005 004 0001 実行結果 キー  データ 001 0001 001 0002 001 0004 003 0005 上記の結果のように,Aテーブルの内容からBテーブルを見て条件を判断しての抽出は可能でしょうか?

  • 片方のテーブルにないデータを取り出す

    お世話になります。 SQL文についてちょっと助けてください。 テーブルA Aキー(主) テーブルB Bキー(主) Aキー テーブルBからBキーを取り出すとき、AキーでテーブルAを見に行って存在しない場合のBキーだけを取り出したいのです。 一度のSQL発行で可能でしょうか。

  • SQLの書き方について教えてください。

    SQL Server2000で下記のようなSQL文を書きたいと思っています。 テーブルAとテーブルAに無関係な2個のフィールドを 持つテーブルBがあり、テーブルAのデータをテーブルBにコピー したいと考えています。その際にテーブルBの2個のフィールドに対して 決められた値を挿入したいのですがどのように記述すればよいのか わかりません。 お分かりの方お教えいただけませんでしょうか よろしくお願いいたします。 下記の記述をしています。 INSERT INTO テーブルB ( A, B, C, D ) SELECT テーブルA.A, テーブルA.A, XXX1, XXX2 FROM reserveSETdateTRN; Cに東京 Dに品川 を入れたいと思っています

  • バッチより実行されるSQLについて

    あるバッチファイルからSQL文を実行します。 SQLの内容を簡単に申し上げますと テーブルAにレコードが1件存在したときは、 テーブルBを削除する。 テーブルAにレコードが2件存在したときは、 何もしない。 バッチファイルには、後続の処理もあるのですが 割愛します。 ここで質問なのですが、レコードが2件存在した とき、バッチの後続処理を実行させずに、そこで 処理終了とさせたいのですが、方法はあります でしょうか? SQL内でバッチのエラーレベルのようなものを 渡せたら、解決できそうなのですが、方法が わかりません。 説明があいまいでわかりにくいかもしれませんが 何か方法がありましたら、教えてください。

  • Access2000のSQL文の質問です。

    Access2000のSQL文の質問です。(長文) [OYA]テーブルに、OYA_CODE(KEY),OYA_NAMEのフィールドがあります。   データは、1 , A 2 , B です。 [KO]テーブルに、KO_CODE(KEY),KO_NAMEのフィールドがあります。   データは、11 , A-1 12 , A-2 13 , A-3 21 , B-1 22 , B-2 です。 [TENKAI]テーブルに、OYA_CODE(KEY),KO_CODE(KEY),CNTのフィールドがあります。   データは、1 , 11 , 1 1 , 12 , 2 2 , 21 , 3 2 , 22 , 4 です。 [DATA]テーブルに、OYA_CODE(KEY),KO_CODE(KEY),CNTのフィールドがあります。   データは、1 , 11 , 10 1 , 12 , 20 2 , 21 , 100 2 , 22 , 200 です。 結果を OYA_CODE, OYA_NAME, KO_CODE, KO_NAME, KEI 1, A, 10 1, A, 11, A-1, 10 1, A, 12, A-2, 40 2, B, 100 2, B, 21, B-1, 300 2, B, 22, B-2, 800 と、したいのです。 つまり、[TENKAI]のCNT×[DATA]のCNT が、ほしいのです。 ネックは、OYA_CODEのみのレコードが出ないのです。 このテーブルにこう言うフィールドをつける等、 具体的にご支持を頂ければ幸いです。 宜しくお願い致します。

  • Insertで重複となったキーをさがすSQL文

    テーブルの移行(Aテーブルのデータをキーを変更してBテーブルにInsertする)を行ったところ、 ERROR: duplicate key violates unique constraint "Bテーブル_unique"とメッセージが出ます。 SQL文はつぎの通りです。 INSERT INTO Bテーブル(契約番号, ユニット番号, 資源番号, 入力日, 数量) SELECT a.契約番号, a.ユニット番号, a.資源番号, a.入力日, a.数量 FROM Aテーブル a ; Bテーブルのキーは、契約番号, ユニット番号, 資源番号, 入力日です。 Aテーブルのキーは、契約番号,入力日,レベル1,レベル2です。 データ件数は約3万件です。 Bテーブルを調査して、重複となるレコードを表示させたいのですが、 SQL文がわかりません。 よろしくご教授ください。

  • 1回のSQL文で取得できますか

    Postgresでテーブルが2つある場合、 その2つに登録されているデータを全て取得したいのです。 例えば Aテーブル       Bテーブル Key1 key2 A     Key1 key2 B ---------- --------- 01 01 A1     01 02 A2   01 02 B2 01 03 A3   01 03 B3             01 04 B4 とある場合、 1度のSQLで下のような結果を取得できますか? Key1 key2 A   B ------------ 01 01 A1   NULL 01 02 A2   B2 01 03 A3   B3 01 04 NULL  B4 お願いいたします。