質問: こういうdelete文を作成したいのですが 質問があるのですが、よろしくお願いいたします。 oracle8iでdeleteの処理を考えています。 [待ち合わせ]テーブル id_no status ------------------ 1000 0 1000 0 2000 1 3000 0 3000 1 4000 0 4000 0 4000 0 以上のようなテーブルがある時に、同一のid_noでstatusがすべて0の時は、レコードを消すという処理を行う。またstatusに1が含まれるid_noは消さないという事を行いたいのですが、delete文の条件が解りません。group句を使えばいいのかと思うのですが、うまく行きません。 以下の結果になる事を望んでいます。 id_no status ------------------ 2000 1 3000 0 3000 1 [1000] - statusが2レコードとも0なので、消す [2000] - statusが1なので、そのまま [3000] - statusが2レコードとも0でないので、そのまま [4000] - statusが3レコードとも0なので、消す お解りの方、アドバイスを頂ければ幸いです。 よろしくお願いします。
回答: #1のかたが書かれているように delete from {テーブル名} where id_no not in ( select id_no from {テーブル名} where status = 1 ) で大丈夫です! テスト済み!!