在sql中组合多个列来求和

时间:2017-03-24 07:42:04

标签: mysql sql

这里我将cr.credit值作为相同值的倍数。但我需要确切的价值来计算总价值。任何人都可以帮助我得到答案。

SELECT
  gm.id,
  gm.groupid,
  gm.tktno,
  gm.memberid,
  (COALESCE((g.emdue - ae.dividend), 0)) AS a,
  SUM(ra.debit) AS deb,
  SUM(DISTINCT ra.credit) AS cr,
  COALESCE((SUM(ra.debit) - SUM(ra.credit)), 0) AS b,
  COALESCE(SUM(cr.credit_value), 0) AS c,
  COALESCE((COALESCE((g.emdue - ae.dividend), 0) - COALESCE((SUM(ra.debit) - SUM(ra.credit)), 0)
  - COALESCE(SUM(cr.credit_value), 0)), 0) AS total
FROM groupmember gm
LEFT JOIN runningaccount ra
  ON ra.group_id = gm.groupid
  AND ra.ticket_no = gm.tktno
  AND gm.memberid = ra.member_id
  AND gm.id = ra.group_member_id
LEFT JOIN chitreceipt cr
  ON gm.groupid = cr.groupid
  AND gm.memberid = cr.memberid
  AND gm.tktno = cr.tktno
LEFT JOIN groupnew g
  ON g.id = gm.groupid
LEFT JOIN auctionentry ae
  ON ae.groupid = gm.groupid
GROUP BY gm.memberid,
         gm.groupid,
         gm.tktno

1 个答案:

答案 0 :(得分:0)

您可以对该列进行区分,然后求和,这样您就可以获得不同的值和。喜欢

this.state

无论你在哪里使用它都像上面一样使用它。