как суммировать с использованием различных в MySQL - PullRequest
0 голосов
/ 06 апреля 2019

я хочу суммировать общее значение elptable_2018 с отличным от ecode_id

select distinct(A.ecode_id),C.eligible_2018 AS monthlyBudgetAmt from vefm_dailybudget AS A JOIN vefm_comp_division AS B ON (B.id = A.division) 
                JOIN vefm_engineer_details AS C ON (A.ecode_id=C.ecode)
                LEFT JOIN vefm_user AS F ON (A.approved_by=F.ecode)
                JOIN vefm_region AS D ON (A.region=D.id) 
                where A.approval_amount != 0 AND A.division=1 and date(A.approval_date) BETWEEN '2018-04-01' AND '2018-04-30' 
                AND A.budget_type='monthly' GROUP BY A.ecode_id

1 Ответ

0 голосов
/ 06 апреля 2019

Отдельный A.ecode_id напрямую управляется группой с помощью

  SELECT A.ecode_id
      , SUM(C.eligible_2018)  monthlyBudgetAmt 
  FROM vefm_dailybudget  A 
  JOIN vefm_comp_division  B ON B.id = A.division
  JOIN vefm_engineer_details  C ON A.ecode_id=C.ecode
  LEFT JOIN vefm_user  F ON A.approved_by=F.ecode
  JOIN vefm_region  D ON A.region=D.id 
  WHERE A.approval_amount != 0 
  AND A.division=1 
  AND date(A.approval_date) 
  BETWEEN '2018-04-01' AND '2018-04-30' 
      AND A.budget_type='monthly' 
  GROUP BY A.ecode_id

, если вам нужна общая сумма для отличного результата, вы можете попробовать

SELECT SUM( t.monthlyBudgetAmt  ) 
FROM (
  SELECT DISTINCT A.ecode_id
      ,C.eligible_2018 AS monthlyBudgetAmt 
  FROM vefm_dailybudget AS A 
  JOIN vefm_comp_division AS B ON (B.id = A.division) 
  JOIN vefm_engineer_details AS C ON (A.ecode_id=C.ecode)
  LEFT JOIN vefm_user AS F ON (A.approved_by=F.ecode)
  JOIN vefm_region AS D ON (A.region=D.id) 
  WHERE A.approval_amount != 0
  AND A.division=1 
  AND date(A.approval_date) BETWEEN '2018-04-01' AND '2018-04-30' 
                  AND A.budget_type='monthly' GROUP BY A.ecode_id

)
...