• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL削除条件について)

SQL削除条件について

このQ&Aのポイント
  • 初歩的な質問で大変恐縮ですが、ご教授願います。以下の二つのテーブルがある場合、1回のSQLで削除する方法を教えてください。
  • IDが一致していて、削除フラグが全て「1」である場合、Aテーブルを削除する。としたいのですが、半日悩んでもうまくいきません。
  • どうかお願い致します。

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

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

select a.id from a natural join b where flag = 1 and a.id not in (select id from a where flag <> 1); で,削除対象のIDであるBとGが抽出されるので,これを, delete from a where a.id in (……); に組み込めば良いのではないでしょうか。 私の手元にあるDBソフトは同一テーブルを2重にネストしてdelete対象にできないので,別途viewを作る必要がありそうなのですが。

snow_daruma
質問者

お礼

返答が遅れて申し訳ありません。 現在手元に実機がありませんので、明日試させて頂きます。 大変勉強になりました。ありがとうございます。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

環境がないので試していませんが以下のSQLで如何でしょう DELETE FROM A INNER JOIN B ON A.ID=B.ID WHERE A.削除フラグ=1

snow_daruma
質問者

お礼

ご回答ありがとうございます。 現在手元に実機がありませんので、明日試させて頂きます。 まだまだ勉強不足ですね。精進します。

関連するQ&A