我正在尝试使用MS Access中的DELETE
子句,并在使用JOIN
子句时遇到问题。我注意到这可以通过使用关键字DISTINCTROW
来完成。如何使用JOIN在MS Access中删除?
例如,下面的SQL语句不允许删除:
DELETE Table1.*
FROM Table1 INNER JOIN Table2 ON Table1.Name=Table2.Name;
不过,这一说法确实:
DELETE DISTINCTROW Table1.*
FROM Table1 INNER JOIN Table2 ON Table1.Name=Table2.Name;
- 为什么使用
DISTINCTROW
关键字时DELETE
工作? - 更具体地说,在JET引擎中发生了什么事情需要这个?
考虑到'DELETE'对全行而不是列运行,指定* “DELETE”和“FROM”关键字之间的任何内容都没有意义。 – onedaywhen 2011-04-11 13:01:31