Mysql: Subtracting values based on two queries -
i have following 2 queries.
select account_name,sum(amount) amount1 entries left join accounts on accounts.id = entries.accounts_id side = 'd' , op_balance_dc = 'd' group accounts.id
here's result of query:
select account_name,sum(amount) amount2 entries left join accounts on accounts.id = entries.accounts_id side = 'c' , op_balance_dc = 'd' group accounts.id
here's result of second query
i not trying display results of above 2 queries, trying achieve account_name, amount1 , amount2 above queries , subtract amount2 amount1- , add value table's column.
example:
(amount1-amount2)+op_balance //here op_balance column name
and display account_name
, (amount1-amount2)+op_balance
could please me query?
thanks :)
please let me know if need anymore information.:)
edited
here's structure of tables:
thanks :)
edit2
table name: entries (case-1)
id trans_id accounts_id amount side 1 1 12 1000 d 2 1 1 1000 c 7 4 1 14000 d 8 4 2 14000 c
table name: entries (case-2)
id trans_id accounts_id amount side 1 1 12 1000 d 2 1 1 1000 c
your code work case-1 not case-2. used lentries.accounts_id = entries.accounts_id
in code , why since there's no multiple values same accounts_id
in table join , code not counting values in case-2.
but trying data. :)
here edited query accounts
select a.id, a.account_name, a.op_balance, ifnull(e.amount1,0) amount1, ifnull(l.amount2,0) amount2, ((ifnull(sum(e.amount1),0)-ifnull(l.amount2,0))+a.op_balance) balance accounts left join (select accounts_id, sum(amount) amount1 entries left join accounts on accounts.id = entries.accounts_id entries.side = 'd' , accounts.op_balance_dc = 'd' group accounts.id) e on e.accounts_id = a.id left join (select accounts_id, sum(amount) amount2 entries left join accounts on accounts.id = entries.accounts_id side = 'c' , op_balance_dc = 'd' group accounts.id) l on l.accounts_id = a.id group a.id
Comments
Post a Comment