请参阅我的小提琴示例:
http://sqlfiddle.com/#!3/1aaea/1
我的目标是删除所有没有迁移值为'Y'的供应商。因此,对于我的小提琴,只应删除供应商B和D.我正在努力解决如何删除所有migrate ='n'的供应商,但保留那些已迁移='y'的供应商,即使他们的值为migrate ='n'。
如何包含已迁移='y'的供应商,并排除那些没有?
的供应商我觉得我的想法太难了,答案就在我的鼻子底下......
答案 0 :(得分:1)
您可以通过在where
子句中测试条件来执行此操作:
delete from example
where not exists (select 1
from example e2
where e2.vendor = example.vendor and
e2.migrate = 'Y'
);
要在SQLFiddle中对此进行测试,您需要将delete
放在左侧窗口(架构窗口)中,而不是放在查询窗口中。