First check the AR amount without payment: SELECT SUM(amount) FROM acc_trans WHERE trans_id = ID and chart_id in (select id from chart where link not like '%_paid%'); Then check payment amount: SELECT SUM(amount) FROM acc_trans WHERE trans_id = ID and chart_id in (select id from chart where link like '%_paid%'); Or run a query to compare all values from the two tables: SELECT ar.id, invnumber, ar.amount, (SELECT SUM(amount) FROM acc_trans ac WHERE ac.trans_id = ar.id AND ac.chart_id IN (SELECT id FROM chart WHERE link NOT LIKE '%_paid%')) amount2 FROM ar WHERE paid <> 0 AND id IN (SELECT trans_id FROM acc_trans GROUP BY trans_id HAVING SUM(amount) = 0) GROUP BY 1,2,3; Another query to check if transaction is completely balanced: SELECT SUM(amount) FROM acc_trans WHERE trans_id = ID