问题如下,我们有一个原始表,我们需要从中删除几条记录,我们有另一个表,其中有来自源的记录的精确副本。有必要借助此表从原件中删除所有副本。
现在用我想要的例子进行解释。为了清楚起见,请看图片:
也就是说,我们获取原始表并从中选择:
SELECT id FROM source_table WHERE id = 2 OR id = 3;
现在你需要删除你从中得到的东西,你需要一次完成。我是这样看的:
DELETE FROM source_table WHERE id = (SELECT id FROM source_table WHERE id = 2 OR id = 3);
很自然的,我们会得到一个错误,因为条件中的数据类型不同。
但毕竟,这应该可以通过语言以某种方式简单地解决。
经验不足,大家多多交流。

删除语法略有不同,有了它的帮助,一切都变得简单得多:
语法是为 MS SQL 编写的,它应该与其他 DBMS 类似。关键是您只选择那些在第二个表中具有匹配项的行,并且只删除那些行。