在下面的图像中,您将注意到有多个DetailID是相同的实例,但是EES_Base_Commission是0或0.2。
我想要做的是在DetailID相同和EES_Base_Commission大于0的情况下从结果集中筛选出来。
我尝试过一些重复的删除选项,例如GROUP BY // didn,但没有找到在我的工作中适当利用计数的方法。
重复结果
( temp表很大,所以不会链接它)
SELECT Trade_Date, ContractNum, DetailID, EES_Base_Commission
FROM #SalesSELECT Trade_Date, ContractNum, DetailID, COUNT(*) Duplicates
FROM #Sales
GROUP BY Trade_Date, ContractNum, DetailID
HAVING COUNT (*) > 1
ORDER BY DetailID发布于 2016-02-19 21:26:15
听起来你在寻找一个独立的DetailID列表,你想要过滤掉佣金高于0的任何记录。你可以用不同的地方来做这件事。
SELECT DISTINCT
Trade_Date
, ContractNum
, DetailID
, EES_Base_Commission
FROM #Sales
WHERE EES_Base_Commission = 0发布于 2016-02-19 21:13:12
SELECT *
FROM table
WHERE EES_Base_Commission > 0
AND DetailID IN
(SELECT DetailID FROM table GROUP BY DetailID HAVING COUNT(*) > 1)https://stackoverflow.com/questions/35515047
复制相似问题