2008-11-05 21 views
5

nasıl yapabiliriz:SQL'de, başka bir tabloda karşılık gelen bir satır yoksa, bir tablodaki bir satırı silmek nasıl?

id = 1 VE bar değil 1

ayrıntılı için id == içeren foo DAN SİL, ben sadece, masanın foo itibaren id = 1 ile satır kaldırmak nasıl id = 1 ile bar tablosunda bir satır yoktur. Bunu foo ve bar demek farz ediyorum

+0

Daha fazla ayrıntı vermeniz gerektiğini düşünüyorum. -> bar içermiyor id == 1 benim için anlaşılır görünmüyor. – EvilTeach

+0

Bar başka bir sütun veya tablo mu? –

cevap

19
DELETE FROM foo WHERE id=1 AND NOT EXISTS (SELECT * FROM bar WHERE id=1) 

tablolar vardır ve barda yoksa sen foo gelen bir kaydı kaldırmak istiyorum.

delete f 
from foo f 
left 
join bar b on 
     f.id = b.id 
where f.id = 1 and 
     b.id is null 
+0

ty tam olarak bu – fmsf

0

Kullanım SQL "Var" komutunu: Bir katılmak kullanarak

İlgili konular