sql >> Databasteknik >  >> RDS >> Mysql

MySQL SUM-funktion i flera kopplingar

Detta är jobbigt på grund av de många hierarkierna. Jag skulle föreslå:

SELECT c.id, ch.charge_amount, ch.taxes_amount
FROM Customer c LEFT JOIN
     (SELECT ch.customer_id, SUM(ch.amount) as charge_amount,
             SUM(t.taxes_amount) as taxes_amount
      FROM Charges ch LEFT JOIN
           (SELECT t.charge_id, SUM(t.amounts) as taxes_amount
            FROM taxes t
            GROUP BY t.charge_id
           ) t
           ON t.charge_id = ch.id
      GROUP BY ch.customer_id
     ) ch
     ON ch.customer_id = c.id;

Du kommer inte att kunna fixa detta utan underfrågor av en eller annan form, om det finns flera avgifter för en kund eller flera skatter på en debitering.




  1. MySQL:Beställ efter fältstorlek/längd

  2. django.db.utils.OperationalError Kunde inte ansluta till servern

  3. Rails fråga gränssnitt var klausul problem?

  4. Transponera utvalda resultat med Oracle