我有2张桌子
表1
ID Name
--------------------
1 John Carter
2 Jack Hammer
3 John Adams
4 John Doe
5 Brian Adams
表2
ID ID_FromTable1
-----------------------------
1 2
2 3
3 1
4 1
5 1
6 2
7 3
8 1
9 1
10 5
11 4
12 5
13 4
两个表中的 ID
是主键
ID_FromTable1
是指向ID
的{{1}}的外键。现在我做这样的事情:
Table1
这会给我SELECT ID
FROM Table1
WHERE Name like '%John%'
ID
,1
,3
。
现在使用这些4
,我想在ID
上写一个查询,删除Table2
为ID_FromTable1
,1
,{{3
的所有条目1}}。
请帮助我编写一个单独的SQL查询,以获取名称为4
的{{1}}中的所有ID
,然后使用Table1
来删除'John'
中的条目{1}}。
我希望我已经明确了这个问题。如果您需要任何澄清,请告诉我。
答案 0 :(得分:3)
您可以将IN
与子查询一起使用:
DELETE FROM Table2
WHERE ID_FromTable1 IN ( SELECT ID
FROM Table1
WHERE Name LIKE '%John%' )
答案 1 :(得分:1)
在MySQL中,您可以使用此连接
来完成此操作delete table2
from table2
join table1 on table2.id_fromtable1 = table1.id
WHERE t1.Name like '%John%'