Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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
Sql 我的删除查询有什么问题_Sql_Database_Ms Access - Fatal编程技术网

Sql 我的删除查询有什么问题

Sql 我的删除查询有什么问题,sql,database,ms-access,Sql,Database,Ms Access,我有两个列相同的表。我正在尝试删除表1“600_LONDON_NUMBER”中的行,这些行位于表2“600_LONDON_NUMBER 1”中。下面是我的查询,但当我运行它时,MS Access说无法从指定的表中删除。请帮忙 DELETE [600_LONDON_NUMBER].* FROM 600_LONDON_NUMBER INNER JOIN 600_LONDON_NUMBER1 ON ([600_LONDON_NUMBER].GFCID = [600_LONDON_NUMBER1].G

我有两个列相同的表。我正在尝试删除表1“600_LONDON_NUMBER”中的行,这些行位于表2“600_LONDON_NUMBER 1”中。下面是我的查询,但当我运行它时,MS Access说无法从指定的表中删除。请帮忙

DELETE [600_LONDON_NUMBER].*
FROM 600_LONDON_NUMBER INNER JOIN 600_LONDON_NUMBER1 
ON ([600_LONDON_NUMBER].GFCID = [600_LONDON_NUMBER1].GFCID) AND ([600_LONDON_NUMBER].CUSTBaseNO = [600_LONDON_NUMBER1].[CUST Base NO]);
另外,当我为同一个查询运行SELECT语句时,它会毫无疑问地检索数据。我还检查了数据是否为只读,我可以使用简单的DELETEquery进行删除。

您可以使用EXISTS来解决此问题

DELETE 600_LONDON_NUMBER.* FROM 600_LONDON_NUMBER 
WHERE EXISTS (
     SELECT 1 FROM 600_LONDON_NUMBER1 
     WHERE [600_LONDON_NUMBER].GFCID = [600_LONDON_NUMBER1].GFCID) AND 
           [600_LONDON_NUMBER].CUSTBaseNO = [600_LONDON_NUMBER1].[CUSTBaseNO]
)

这是一个MySQL数据库?DELETE和FROM之间的部分是不必要的,在where子句中添加一个子查询来删除数据Ok的可能重复项,这就是当你在标签上捣乱时得到的结果。现在你得到了一堆对你来说毫无用处的MySQL答案和注释。选择1中的1代表什么?存在运算符返回true,如果选择返回至少某个值,那么标量值1就是该值。谢谢,我只需要添加正确的列名。。。下面的工作。。删除600_伦敦_编号。*从存在的600_伦敦_编号中,从600_伦敦_编号1中选择1,其中[600_伦敦_编号]。GFCID=[600_伦敦_编号1]。GFCID和[600_伦敦_编号]。CUSTBaseNO=[600_伦敦_编号1]。[CUST Base NO];