我有一张这样的桌子:
1 Apple 1
2 Apple null
3 Apple 2
4 Orange 1
5 Orange 2
6 Pear null
7 Lemon 1
8 Lemon null
如果 ProductId 为空并且 Name 出现多次,我想删除该行。
在此示例中,如果我运行正确的删除查询,它应该删除以下行:
2 Apple null
8 Lemon null
哪种删除查询对我有用?
答案1
根据 SQL 引擎的功能,您可能能够运行以下命令:
Delete from Products PID where ProductId is null and
exists(select * from Products where Name=PID.Name and ProductId is not null)
否则,您将需要为 ProductId 不为空的产品创建临时表或视图。