Sql 删除表之间引用链接的记录

Sql 删除表之间引用链接的记录,sql,ms-access,Sql,Ms Access,我有两个表a和B-a与B有一对多的关系 A和B通过“ID”链接 我想删除A和B中上次更新日期(从表B)超过x周前的所有记录 我有一个SQL语句,它会像我期望的那样列出这些情况,但是我无法让delete函数工作 SQL返回约8500条按A.ID分组的记录,其中B.DateUpdated小于今天的-84 选择Max(B.DateUpdated)作为[Date Last Updated],A.ID 从A.ID=B.ID上的内部联接B开始 按A.ID分组 如果(((Max(B.DateUpdated))

我有两个表a和B-a与B有一对多的关系

A和B通过“ID”链接

我想删除A和B中上次更新日期(从表B)超过x周前的所有记录

我有一个SQL语句,它会像我期望的那样列出这些情况,但是我无法让delete函数工作

SQL返回约8500条按A.ID分组的记录,其中B.DateUpdated小于今天的-84

选择Max(B.DateUpdated)作为[Date Last Updated],A.ID
从A.ID=B.ID上的内部联接B开始
按A.ID分组

如果(((Max(B.DateUpdated))假设在关系生成器中以强制引用完整性激活了级联删除,则对主表运行delete,相关表中的依赖记录也将删除。使用返回必须删除的记录ID的查询作为删除条件

DELETE FROM A WHERE ID IN (SELECT ID FROM query1);

您熟悉强制引用完整性的级联删除功能吗?但是,为什么要麻烦删除记录?删除确实应该是一个罕见的事件。应用筛选条件将记录从输出到报表的选择中排除。@6月7日,MS Access不支持删除级联
功能的
。另外,最好删除un表中的必要记录限制了表的大小。@oliver,我想你需要手动一个一个地删除它们。@AnkitBajpai没错,这是为了限制表的大小-这不是我创建的东西,只是需要不时地维护,并且考虑到网络的速度和制作工具的低效方式查询需要很长时间。我也担心,我想我必须一个接一个地删除它们。我的另一个想法是使用ID列删除表B中的每个项目,然后再在表中执行相同的操作A@AnkitBajpai,你说Access不支持级联删除是什么意思?当然支持。我刚用过。删除主记录和从属记录我真的不知道我可以引用这样一个查询的输出,这真的很有帮助,而且工作起来很有魅力!