2011-11-17 55 views
0

我有兩個表我想刪除表2中的所有行,如果table1中的ID exsits刪除行,如果ID是另一個表相同

到目前爲止的代碼(表1和表2):

DELETE a.id, a.car, a.boat 
FROM Table2 a 
LEFT JOIN Table1 b ON b.id = a.id 

表:

  • 表1:id, car, boat
  • 表2:id, car, boat(刪除如果ID是表1中的值相同ID)
  • 在回滾事務

回答

5
DELETE Table2 
    FROM Table2 
    JOIN Table1 ON Table1.ID = Table2.ID 
+1

對於實際使用加入的答案是的。+1 – Maess

+1

爲什麼你這麼說?有沒有更好的方式來做到這一點沒有連接? – user999690

5
Delete from table2 where table2.ID IN (select id from table1) 
+0

+1,打我給它。 –

2

測試此第一(好習慣總是刪除做到這一點)

DELETE FROM table2 
    WHERE table2.id IN (SELECT table1.id FROM table1) 
相關問題