嵌套查询中的where子句

时间:2014-03-25 06:39:25

标签: mysql sql nested where clause

我正在使用mysql和php。即使存在满足查询中指定条件的记录,我也无法删除任何记录,请帮助识别问题, 我的查询是

表1(id,LName) 表2(ID,LName的)

delete from table1 where Lname in (select Lname from table2); 

3 个答案:

答案 0 :(得分:2)

delete from table1 where Lname in (select Lname from table2);

它为我工作。也许它有案例问题所以试试这个

delete from table1 where upper(Lname) in (select upper(Lname) from table2);

答案 1 :(得分:0)

根据您在评论中提供的表格结构,查询应该有点像这样:

delete from table1
where name in 
(select name 
 from table2)

但是根据你的问题,你的表似乎没有一个名为'Lname'的列。

如果您的列名实际上是“Lname”,则可以将查询重写为:

delete from table1
where Lname in 
(select Lname 
 from table2)

请特别注意提供表格结构,您必须张贴相应的表格和列名称,并正确拼写。

答案 2 :(得分:0)

另一种选择是使用JOIN: -

DELETE table1
FROM table1 
INNER JOIN table2
ON table1.Lname table2.Lname

但您的原始SQL应该可以正常工作