0
这是一个MS Access(2010)脚本。连接字段
我想连接2个表的单个表的2个字段。然后,如果两个表中的连接字段相同(意味着这是重复的),我想要删除表中的关联记录。
我知道如何在VBA中通过循环遍历记录来做到这一点,但我想在SQL中这样做,因为表格可能会快速保存超过50000条记录,这意味着循环将会花费2,500,000,000次。
我虽然我可以创建一个2 SELECT语句为了创建两个表的连接字段。 SELECT语句还将显示基础表的ID。然后我会使用该ID在适当的表格中删除记录。
这是我的选择语句:
SELECT [Tick] & [Div_ex_date] AS Expr2, tblBbgDivData.ID
FROM tblBbgDivData
GROUP BY [Tick] & [Div_ex_date], tblBbgDivData.ID;
而且
SELECT [Security_Name] & [Div_ex_date] AS Expr1, tblArchiveBbgDivData.ID
FROM tblArchiveBbgDivData
GROUP BY [Security_Name] & [Div_ex_date], tblArchiveBbgDivData.ID;
这是我的DELETE语句:
DELETE tblArchiveBbgDivData.*
FROM (tblArchiveBbgDivData
INNER JOIN qselUniqueID_Archive ON tblArchiveBbgDivData.ID = qselUniqueID_Archive.ID)
INNER JOIN qselUniqueID_BbgDiv ON qselUniqueID_Archive.Expr1 = qselUniqueID_BbgDiv.Expr2
WHERE (((tblArchiveBbgDivData.ID)=[qselUniqueID_Archive].[ID])
AND ((qselUniqueID_Archive.Expr1)=[qselUniqueID_BbgDiv].[Expr2]));
当我打数据表视图,显示相关的记录,但当我点击运行时,我得到“无法从指定的表中删除”。任何想法如何我可以改变这一点?