在MS访问删除行中循环



我想在表中包含包含代码的某个代码的表中删除所有行。例如:

Name     Code
John     3581
Alex     3132
Jake     2123

在另一个表中,我的代码与某个关键字相对应。其中一些名称具有与我要消除的首选关键字相对应的代码。看起来像这样例如:

Code    Keyword
3132    apple
2123    apple
4921    banana

假设我只想从名称表中筛选出Apple。我该怎么做?

我尝试设置一个循环,但我想您不能在MS访问中执行此操作。另外,我想尝试一个句子。

这就是我的想法

DELETE table1 where table1.numbers = table2.numbers;

我根本不确定如何执行此代码。

如果要从 table1删除Code的行,即table2中具有Keyword apple,则可以使用EXISTS

进行操作。
DELETE FROM table1 t1
WHERE EXISTS (
  SELECT 1 FROM table2 t2
  WHERE t1.Code = t2.Code AND t2.Keyword = 'apple'
)

您也可以使用 in避免相关子查询:

delete from table1 t1 where t1.code in 
(select t2.code from table2 t2 where t2.keyword = 'apple')

在这里,table1是包含Name&的表Codetable2是包含Code&的表Keyword-更改这些表名称以适合您的数据。

最新更新