我想在表中包含包含代码的某个代码的表中删除所有行。例如:
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
&的表Code
和table2
是包含Code
&的表Keyword
-更改这些表名称以适合您的数据。