【发布时间】:2021-12-22 08:13:44
【问题描述】:
在访问中,我正在尝试删除查询以从 tblA 中删除在 tblB 中具有相同数据的行
我尝试了以下方法,但它告诉我“指定包含要删除的记录的表”
DELETE
[tblA].fldA,
[tblA].fldB,
[tblA].fldC,
[tblA].fldD
FROM
tblA
LEFT JOIN
tblB
ON
[tblA].fldA = tblB.ID
WHERE
(([tblB].[ID]=[tblA].[fldA])
AND
([tblB].[fldB]=[tblA].[fldB])
AND
([tblB].[fldC]=[tblA].[fldC])
AND
([tblB].[fldD]=[tblA].[fldD]));
我看不出我在这里缺少什么。 我也尝试了以下方法,但结果相同
DELETE
[tblA]
FROM
[tblA]
LEFT JOIN
[tblB]
ON
[tblA].fldA = tblB.ID
WHERE
(([tblB].[ID]=[tblA].[fldA])
AND
([tblB].[fldB]=[tblA].[fldB])
AND
([tblB].[fldC]=[tblA].[fldC])
AND
([tblB].[fldD]=[tblA].[fldD]));
【问题讨论】:
-
语法是
DELETE tablealias1 FROM tablealias1 LEFT JOIN tablealias2 ON ... WHERE ...而不是DELETE tablealias1.columnname1, tablealias1.columnname2, tablealias1.columnname3 FROM tablealias1 LEFT JOIN tablealias2 ON ... WHERE ... -
我尝试了你的建议,但我得到了同样的信息
-
抱歉,错过了
ms-access标签。你可以试试DELETE tbla.* FROM tbla left join tblb on ... -
您提供的链接给了我答案。谢谢derpirscher
标签: sql ms-access-2010