繁体   English   中英

删除重复项有例外

[英]Removing Duplicates With Exception

在下图中,您会注意到存在多个实例,其中DetailID相同,但是EES_Base_Commission为0或0.2。

我想做的是,当DetailID相同且EES_Base_Commission大于0时,将结果集中的情况过滤掉

我尝试了一些重复的删除选项,例如GROUP BY // HAVING,但是在我的工作中没有找到适当利用计数的方法。

结果重复

(临时表很大,因此不要链接它)

SELECT Trade_Date, ContractNum, DetailID, EES_Base_Commission

FROM #Sales

SELECT Trade_Date, ContractNum, DetailID, COUNT(*) Duplicates

FROM #Sales

GROUP BY Trade_Date, ContractNum, DetailID

HAVING COUNT (*) > 1

ORDER BY DetailID
SELECT * 
FROM table
WHERE EES_Base_Commission > 0
AND DetailID IN
(SELECT DetailID FROM table GROUP BY DetailID HAVING COUNT(*) > 1)

听起来您正在寻找一个不同的DetailID的列表,并且想要筛选出佣金大于0的任何记录。您可以使用DISTINCT和WHERE进行此操作。

SELECT DISTINCT 
Trade_Date
, ContractNum
, DetailID
, EES_Base_Commission

FROM #Sales

WHERE EES_Base_Commission = 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM