如何通过加入删除记录

时间:2015-07-17 15:18:32

标签: sql ms-access-2007

我有一个Access数据库,我希望使用其对另一个表的引用属性从表中删除记录。例如,我有以下两个表格;

CI_Aliases with fields - CI_Ref(Primary Key),值为3 和Aliase_ID(外键),值为5

使用字段的Aliases_Table - Aliase_ID(主键),值为5 和Aliase的值为" AMSS"

我已经尝试了以下DELETE语句,但是我收到了消息"无法从指定的表中删除记录" - 我做错了什么?

DELETE FROM Aliases_Table a
INNER JOIN CI_Aliases c
ON a.Aliase_ID = c.Aliase_ID
WHERE c.CI_Ref = 3

我应该确认它是Aliases_Table中的记录,我希望删除但是使用" 3"的CI_Aliase主键。

1 个答案:

答案 0 :(得分:0)

首先使用别名,然后使用FROM子句。语法有点不直观

DELETE a.*
FROM Aliases_Table a
WHERE a.Aliase_ID IN ( 
                       SELECT
                       c.Aliase_ID 
                       FROM CI_Aliases c
                       WHERE c.CI_Ref = 3
                      )