这可能很简单,但我无法绕过它.我试过IN,不是EXISTS,除了等等......但似乎仍然无法做到这一点.
我有两张桌子.
Table A
-----------
BK
NUM
Table B
------------
BK
NUM
Run Code Online (Sandbox Code Playgroud)
如何编写查询以从表A中删除基于这两个字段不在表B中的所有记录.因此,如果表A有BK = 1且NUM = 2的记录,那么它应该在表B中查看.如果表B也有BK = 1且NUM = 2的记录则不执行任何操作,但如果没有,则删除该记录来自表A.这有意义吗?
任何帮助深表感谢.
你可以这样做
delete from tablea
where (BK,NUM) not in
(select BK,NUM from tableb)
Run Code Online (Sandbox Code Playgroud)
运用 exists
delete from tablea a
where not exists
(select 1 from tableb where BK=a.BK and NUM = a.NUM)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1058 次 |
| 最近记录: |