【发布时间】:2021-02-05 12:42:32
【问题描述】:
我的表如下所示(在 SQL Server 2016 SP2 中):
KEY | CN_ID | CNO_IND
----+-------+--------
001 | P001 | N
002 | P001 | Y
003 | P001 | N
005 | P002 | N
006 | P002 | N
007 | P004 | N
008 | P004 | Y
009 | P004 | N
010 | P004 | Y
这是我想做的:
对于所有 CNO_IND = 'Y' 的 CN_ID,我想删除所有 CNO_IND = 'N' 的 CN_ID。
我的最终结果会是这样的:
KEY | CN_ID | CNO_IND
----+-------+--------
002 | P001 | Y
005 | P002 | N
006 | P002 | N
008 | P004 | Y
010 | P004 | Y
如您所见,P002 不会被删除,因为 P002 中没有一个 CNO_IND = 'Y'。 P004 仍然有重复项,因为我想保留 CNO_IND = 'Y' 的所有记录并删除 CNO_IND = 'N' 的重复项。
希望为此找到最佳解决方案。
提前致谢
【问题讨论】:
标签: sql sql-server duplicates subquery sql-delete