Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 嵌套查询中的where in子句_Mysql_Sql_Nested_Where_Clause - Fatal编程技术网

Mysql 嵌套查询中的where in子句

Mysql 嵌套查询中的where in子句,mysql,sql,nested,where,clause,Mysql,Sql,Nested,Where,Clause,我正在使用mysql和php。即使存在满足查询中指定条件的记录,我也无法删除任何记录,请帮助确定问题, 我的问题是 表1 id,LName 表2id,LName delete from table1 where Lname in (select Lname from table2); 根据您在评论中提供的表结构,查询应该是这样的: delete from table1 where name in (select name from table2) 但根据您的问题,您的表似乎没有名为“

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

表1 id,LName 表2id,LName

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

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

delete from table1
where name in 
(select name 
 from table2)
但根据您的问题,您的表似乎没有名为“Lname”的列

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

delete from table1
where Lname in 
(select Lname 
 from table2)
请,请特别小心提及表结构,您必须发布表和列的适当名称,并且拼写正确。

从表1中删除其中的Lname in从表2中选择Lname

这是我的工作。也许它有案例问题,所以试着这样做


从表1中删除,其中UpperName在中从表2中选择UpperName

另一个选项是使用连接:-

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

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

这不是一种好的提问方式。请显示您的表结构和您迄今为止所做的工作。我有两个表table1id,name和table2id,name,如果表2中存在相同的名称,我想从表1中删除记录。请在您的注释中添加表说明和其他详细信息。Lname是否为打字错误?您的表似乎有一个名为nameshow的列显示数据示例