2016-11-21 21 views
-1

ColumnAが0のIDと一致するSQLテーブルからすべてのレコードを削除する必要があります。つまり、IDのデータが不良な場合はgetすべてのデータを取り除く。 ColumnAが11ある場合、時にはColumnBがあるため、このデータで SQL ColAが一致してColBが一致する場合はすべてのレコードを削除

ColumnA ColumnB 
------- ------- 
    11   0 
    11   1 
    11   0 
    12   1 
    12   1 

、私は何かを削除したい0

+0

ご使用のデータベースに質問にタグを付けてください。 –

答えて

1

ANSI標準の構文は次のとおりです。あなたはまた、inを使用することができます

delete from t 
    where exists (select 1 
        from t t2 
        where t2.ColumnA = t.ColumnA and t2.ColumnB = 0 
       ); 

delete from t 
    where t.ColumnA in (select t2.ColumnA 
         from t t2 
         where t2.ColumnB = 0 
         ); 
+0

私は長いショットでそれを考え直していました。ありがとうございました。 –

0

同様に容易:

delete from tablename 
where columnA in (select columnA from tablename where columnB = 0) 
関連する問題