2015-03-03 46 views
1

我需要從「T2」中刪除行從表中刪除行,如果「t2.t1_id」在「T1」和「t1.status = E」MySQL的:如果存在於其他表與條件

表存在結構,

T1(結構)

id  status 
1   E 
2   A 
3   A 
4   E 
5   C 

T2(結構)

id  t1_id 
1   1 
2   2 
3   3 
4   4 
5   5 

注:t1_id forign鍵指table_1.id

感謝,

+0

什麼你已經嘗試這樣遠?? – 2015-03-03 14:18:04

回答

2

答:

DELETE FROM t2 WHERE t1_id IN (
    SELECT id FROM t1 WHERE status='E' 
) 

查詢後,預期的結果將是:

id  t1_id 
2   2 
3   3 
5   5 
1

試試這個: -

DELETE t2,t1 
FROM t1 
INNER JOIN t2 ON t1.id = t2.t1_id 
WHERE t1.status = 'E';