QUERY PLAN
Aggregate (cost=487.88..487.89 rows=1 width=32)
-> HashAggregate (cost=484.05..485.75 rows=170 width=70)
Group Key: sc.id, tbl_purchase_contracts.erp_settle_amount
-> Hash Right Join (cost=427.54..483.20 rows=170 width=38)
Hash Cond: (tbl_purchase_contracts.id = sc.id2)
-> HashAggregate (cost=123.40..146.12 rows=2272 width=10)
Group Key: tbl_purchase_contracts.id
-> Seq Scan on tbl_purchase_contracts (cost=0.00..117.72 rows=2272 width=10)
-> Hash (cost=303.95..303.95 rows=15 width=36)
-> Subquery Scan on sc (cost=303.77..303.95 rows=15 width=36)
-> Sort (cost=303.77..303.80 rows=15 width=663)
Sort Key: (CASE WHEN (t0.id IS NOT NULL) THEN t0.remind_date ELSE sc_1.signed_at END) DESC
-> Hash Right Join (cost=284.48..303.47 rows=15 width=663)
Hash Cond: (t0.contract_id = sc_1.id)
Filter: (((t0.id IS NOT NULL) AND (t0.paid_amount <> '0'::numeric)) OR ((t0.id IS NULL) AND (sc_1.erp_settle_amount > '0'::numeric)))
-> HashAggregate (cost=166.58..174.89 rows=831 width=67)
Group Key: t0.id
-> Hash Join (cost=145.93..164.50 rows=831 width=18)
Hash Cond: (t0.contract_id = t1.id)
-> Seq Scan on tbl_purchase_contract_payment_collection_remind_dates t0 (cost=0.00..16.37 rows=837 width=18)
-> Hash (cost=117.72..117.72 rows=2257 width=4)
-> Seq Scan on tbl_purchase_contracts t1 (cost=0.00..117.72 rows=2257 width=4)
Filter: (NOT is_chargeback)
-> Hash (cost=117.72..117.72 rows=15 width=18)
-> Seq Scan on tbl_purchase_contracts sc_1 (cost=0.00..117.72 rows=15 width=18)
Filter: ((NOT is_draft) AND (NOT is_refuse) AND is_chargeback)