我需要通过使用SQL比较表2(仅status =Loaded
)来删除表1(4行集)的行集,否则保留该IG
的行集。
例如,将删除表1中的IG 10数据,并且IG 60数据将保持与未加载该IG对应的所有状态相同。
您可以尝试以下操作:
DELETE FROM Table1 WHERE NOT IG IN (
SELECT IG FROM Table2 WHERE Status <> 'Loaded'
)
为了确保删除正确的行,可以先使用以下SELECT
:
SELECT * FROM Table1 WHERE NOT IG IN (
SELECT IG FROM Table2 WHERE Status <> 'Loaded'
)
尝试一下
delete From [TABLE 1]
where IG in
(
Select IG from [TABLE 2] a where not exists(Select 1 From [TABLE 2] b where a.IG = b.IG and Status not in ('Loaded') )
)
您可以在下面的查询中尝试
DELETE FROM TABLE1 WHERE IG NOT IN (SELECT IG FROM TABLE2 WHERE STATUS = 'ERROR')
使用NOT IN子句:
delete from TB1 where not IG in (
select IG from TB2 where status <> 'Loaded'
)