我目前正在尝试从表A中删除表B中未使用相应记录的情况.表A包含Section,SubSection,Code,Text作为字段,其中前三个是主键.表B将ID,Section,SubSection,Code作为字段,其中所有四个都是主键.有更多的列,但它们与这个问题无关...只是想在我被问及为什么所有列都是表B的主键的一部分之前指出它.很多表A是所有可能数据的存储库可以分配给实体,表B是它们被分配的位置.我想删除表A中未在表B中使用的所有记录.我尝试了以下操作但没有成功:
DELETE FROM Table A
WHERE NOT EXISTS (SELECT * from Table B
WHERE A.section = B.section
AND A.subsection = B.subsection
AND A.code = b.code)
Run Code Online (Sandbox Code Playgroud)
如果我执行Select而不是删除,我会得到我要查找的子集,但是当我执行删除时,我得到一个错误,表示表A中存在语法错误.我会使用NOT IN语句,但是多列是主键的一部分,我只是看不出它是如何工作的.任何帮助将不胜感激.