2015-03-03 50 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';