2016-06-22 3 views
0

TYPEカラムが 'New Business'の場合​​にのみ、別個のControlNoのCOUNTを単純に計算する方法はありますか?しかし、私はカレンダーテーブルに参加するクエリでそれを行う必要があります。条件との別個のカウントを得る

SELECT  underwriter, 
      --ControlNo, 
      SUM(CASE WHEN Type = 'New Business' AND RevisedStatus IN ('Bound','Cancelled','Notice of Cancellation') THEN 1 ELSE 0 END) as 'Binds - NEW BUSINESS', 
      SUM(CASE WHEN Type = 'Renewal'  AND RevisedStatus IN ('Bound','Cancelled','Notice of Cancellation') THEN 1 ELSE 0 END) as 'Binds - RENEWALS', 
      SUM(CASE WHEN Type = 'Rewrite'  AND RevisedStatus IN ('Bound','Cancelled','Notice of Cancellation') THEN 1 ELSE 0 END) as 'Binds - REWRITE', 


      SUM(CASE WHEN Type = 'New Business' THEN 1 ELSE 0 END) as Submissions1, 
      count( case when type = 'New Business' then ControlNo else 0 end) as Submissions2, 


      b.MonthNum, 
       b.YearNum, 
       b.MonthName 

FROM  tblCalendar b 
LEFT JOIN Test_Plaza_ClearanceReport a ON b.MonthNum=Month(a.EffectiveDate)  
      AND b.YearNum = YEAR(a.EffectiveDate) 
      AND a.Underwriter ='Brown, Debra' 
WHERE  b.YearNum = 2016 
GROUP BY 
       b.MonthName, 
       b.MonthNum, 
       b.YearNum, 
       --ControlNo, 
       underwriter 

私は若干異なる結果になります。私はどちらを信頼すべきですか? enter image description here

答えて

1

あなたは、この表現になります。

count(distinct case when type = 'New Business' then ControlNo end) as UniqueValues 

注:elseはありません。それがなければ、式はNULLと評価され、値は数えられません。

+0

ありがとう、私はそれについて知りませんでした.. – Oleg

関連する問題