SELECT    Sum((pvc.cpt_amount) * (pvc.unit)) AS billed_amount,
          pvc.cpt_amount,
          pvc.unit
FROM      payment            AS pay
LEFT JOIN patient_insurances AS pi
ON        pay.who_paid = pi.id
LEFT JOIN patient_visit_cpt AS pvc
ON        (
                    pay.encounter_id = pvc.id
          AND       pay.claim_id = pvc.claim_id )
LEFT JOIN patient_visit AS pv
ON        pvc.visit_id = pv.id
WHERE
and       pi.insurance_id = 761
AND       pay.created_at <= '2016-04-01 23:00:00'
AND       pay.created_at >= '2016-03-31 00:00:00'
GROUP BY  pay.check_number,
          pv.attending_provider_id



  对于单位= 1和cpt_amount = 145,但输出如下
  与4混合。如1 * 145 = 580 ..请任何一个给解

最佳答案

您的Group By可能是错误的。

还要在AND子句后删除关键字WHERE

尝试以下查询

SELECT Sum((pvc.cpt_amount) * (pvc.unit)) AS billed_amount,
       pvc.cpt_amount,pvc.unit
FROM payment AS pay
LEFT JOIN patient_insurances AS pi  ON pay.who_paid = pi.id
LEFT JOIN patient_visit_cpt AS pvc ON(pay.encounter_id = pvc.id AND pay.claim_id = pvc.claim_id)
LEFT JOIN patient_visit AS pv ON pvc.visit_id = pv.id
WHERE pi.insurance_id = 761 AND pay.created_at <= '2016-04-01 23:00:00'
      AND pay.created_at >= '2016-03-31 00:00:00'
GROUP BY  pvc.cpt_amount,pvc.unit

关于mysql - 总和不适用于乘法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36651827/

10-10 18:06