Something like this perhaps?SELECTCONVERT(nvarchar(10),dateadd(d,-day(ALERT_RECEIVED_DATE) + 1,ALERT_RECEIVED_DATE),101) PERIOD,COUNT(ALERT_RECEIVED_DATE) FRAUDCT,SUM(CASE WHEN FRAUD_DECISION IS NULL THEN 1 ELSE 0 END) FRAUDUNWK,SUM(CASE WHEN FRAUD_DECISION ='D' THEN 1 ELSE 0 END) DECLINED,SUM(CASE WHEN A.FRAUDID IS NOT NULL AND FRAUD_DECISION IS NULL THEN 1 ELSE 0 END) PENDING_EXCEPTION,SUM(CASE WHEN A.FRAUDID IS NOT NULL AND FRAUD_DECISION='D' THEN 1 ELSE 0 END) DECLINED_EXCEPTION, (COUNT(ALERT_RECEIVED_DATE) * 100.0) / SUM(CASE WHEN FRAUD_DECISION IS NULL THEN 1 ELSE 0 END) AS MyPercentageFROM TBLFRAUDFINDER OGROUP BY CONVERT(nvarchar(10),dateadd(d,-day(ALERT_RECEIVED_DATE) + 1,ALERT_RECEIVED_DATE),101)
Edit: Probably needs some code to work around the situation where "SUM(CASE WHEN FRAUD_DECISION IS NULL THEN 1 ELSE 0 END)" is zero, and generates a "Divide by zero" errorProbably:NullIf(SUM(CASE WHEN FRAUD_DECISION IS NULL THEN 1 ELSE 0 END), 0)would do!Kristen