mysql - Query to sum two tables -



mysql - Query to sum two tables -

query sum 2 tables

i have transaction table , payment table. need total amount both on trans table , payment table , must grouping transid. hope can help me right sql statement this.

i tried sql below sum of amount on trans table multiplied number of records of same transid on payment table.

-> select trans.transid, sum(trans.amount), sum(payment.amount) trans left bring together payment on payment.transid = trans.transid

i tried sql below processing time longer compared sql statement above.

-> select td.transid, td.amt, pd.paid ( select trans.transid, sum(trans.amount) amt trans grouping trans.transid ) td left bring together ( select payment.transid, sum(payment.amount) paid payment grouping payment.transid ) pd on pd.transid = td.transid

trans table

transid | amount t1 | 10 t2 | 15 t3 | 12 t4 | 20 t5 | 11 t1 | 15 t5 | 14 ----------

payment table

transid | amount t1 | 5 t3 | 10 t1 | 3 t2 | 5 t5 | 10 ----------

the query result need supposed way:

transid | amount | paid t1 | 25 | 8 t2 | 15 | 5 t3 | 12 | 10 t4 | 20 | 0 t5 | 25 | 10

you can utilize 2 different queries, 1 sums amounts (and sets paid column 0) , 1 sums paid values (and sets amount column 0) , combine using union query, , sum results:

select transid, sum(amount) amount, sum(paid) paid ( select transid, sum(amount) amount, 0 paid trans grouping transid union select transid, 0 amount, sum(amount) paid payment grouping transid ) s grouping transid

please see fiddle here.

mysql sql table join sum

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -