2016-07-21 13 views
0

結果は表結果私のSQLクエリの複数の条件に基づいて列の値を合計する

ID Sum(headcount) CID  CName  contname 
339 6   340  xxx   Inc Andy Stetson   
340 3   340  xxx   Danielle du Toit   
351 3   322  yyy   Ron Mahulkar   
350 3   322  zzz   Nicholas Ho  
349 3    322  zzz   Will Power  
271 74   102  vvv   Carie Hinton   
338 31   102  vvv   Linda Dunn  
283 9    102  vvv   Waseem Khan 

である私は

ID Sum(headcount) exactSum CID CName  contname 
339 6   9  340  xxx   Inc Andy Stetson   
340 3      340  xxx   Danielle du Toit   
351 3   3  322  yyy   Ron Mahulkar   
350 3      322  zzz   Nicholas Ho  
349 3      322  zzz   Will Power  
271 74   114  102  vvv   Carie Hinton   
338 31     102  vvv   Linda Dunn  
283 9      102  vvv   Waseem Khan 

以下のようになる必要があります私はCIDを繰り返し、繰り返し表示する必要があり、合計はCIDに基づいて行われる必要があります

いくつかのいずれかが

+0

ないあなたの質問は、実際にあなたがexactSumを計算しないか、何であるか完全に確認を助けてください?実数はcidから計算されますが、idが351、350、349、cidが322の表はそれぞれ3の合計がありますが、正確な合計は3です。それは9であるはずですか? – Nyranith

+0

実際にpIDが400,399,314,314,314,300,298 w.r.tのCID PIDが表示されている別のcloumnが表示されます。PIDが一意である場合、SUMにする必要があります。9,3,114 –

+0

CIDごとに異なる人数の合計を計算していますか?実際のサンプルデータをCID#340と#322(xxx、yyy、zzzなどの非公開データを隠している)の表に表示することはできますが、HOWをより正確に表示するには「ExactSum」が計算されています。 – DRapp

答えて

0
SELECT cid 
    , MIN(id) 
    , SUM(subtotal 
    FROM 
    (SELECT cc.Contact_ID 
      , SUM(HeadCount) subtotal 
      , c.ClientID 
      , c.Client_Name 
      , cc.Contact_Name 
      , cc.Role 
      , cs.Communication 
      , cs.ResponseTime 
      , cs.LeadershipStyle 
      , cs.Trust 
      , cs.Sentiment 
     FROM client c 
     LEFT 
     JOIN client_contact cc 
      ON c.ClientID = cc.Client_ID 
     JOIN process p 
      ON c.ClientID = p.ClientID 
      AND cc.Contact_Process = p.ProcessID 
     JOIN verticals v 
      ON v.VerticalID = cc.Contact_Vertical 
     LEFT 
     JOIN client_sentimental_indicator cs 
      ON cs.ClientContactID = cc.Contact_ID 
     WHERE c.STATUS = 1 
      AND p.ProcessStatus = 0 
      AND cc.status = 0  
     GROUP 
      BY c.ClientID 
      , cc.Contact_ID 
    ) a 
    GROUP 
    BY cid; 
+0

上記のクエリを使用する場合、私はSUMを取得しますが、CIDを繰り返し表示する必要があります。グループBYはそれを排除します...別の答えを提供してください –

+0

いいえこの目的に合ってください。 – Strawberry

関連する問題