QUERY PLAN
Aggregate (cost=481.54..481.55 rows=1 width=136)
-> Sort (cost=481.50..481.51 rows=1 width=1192)
Sort Key: sc.signed_at DESC
-> GroupAggregate (cost=481.46..481.49 rows=1 width=1192)
Group Key: sc.id
-> Sort (cost=481.46..481.47 rows=1 width=90)
Sort Key: sc.id
-> Hash Join (cost=403.11..481.45 rows=1 width=90)
Hash Cond: (sc.id = tbl_sales_contract_payments.contract_id)
-> Hash Left Join (cost=358.92..434.27 rows=1133 width=90)
Hash Cond: (sc.id = tcollect.contract_id)
-> Hash Left Join (cost=306.40..378.77 rows=1133 width=50)
Hash Cond: (sc.id = scp.contract_id)
-> Hash Left Join (cost=130.43..199.81 rows=1133 width=18)
Hash Cond: (c.sales_rep = sgr.sales_id)
-> Hash Left Join (cost=128.37..187.66 rows=1133 width=22)
Hash Cond: (sc.client_id = c.id)
Filter: ((c.sales_rep = ANY ('{5049,5301,5022,5209,5026,5293,5309,5356,5329,5299,5303,5302,5332,5047,1026,5096,5070,5448,5420,1029,1001,5037,5087,1008,5048,5043,5045,5230,5031,5088,5208,1003,5294,5357,5044,1030,5076,5300,5027,5089,5311,5066,5069,5364,1009,5295,1013,5128,5203,1025,5032,5075,1004,5072,5033,5359,5412,5409,5229,1005,5304,5449,5358,1006,5093}'::integer[])) OR (c.sales_rep IS NULL))
-> Seq Scan on tbl_sales_contracts sc (cost=0.00..55.24 rows=1510 width=22)
Filter: need_analysis
-> Hash (cost=104.83..104.83 rows=1883 width=8)
-> Seq Scan on tbl_clients c (cost=0.00..104.83 rows=1883 width=8)
-> Hash (cost=1.47..1.47 rows=47 width=4)
-> Seq Scan on tbl_sales_group_relationships sgr (cost=0.00..1.47 rows=47 width=4)
-> Hash (cost=157.10..157.10 rows=1510 width=36)
-> Subquery Scan on scp (cost=123.12..157.10 rows=1510 width=36)
-> HashAggregate (cost=123.12..142.00 rows=1510 width=36)
Group Key: t0.id
-> Hash Right Join (cost=74.12..113.82 rows=1860 width=10)
Hash Cond: (t1.contract_id = t0.id)
-> Seq Scan on tbl_sales_contract_payments t1 (cost=0.00..34.77 rows=1877 width=10)
-> Hash (cost=55.24..55.24 rows=1510 width=4)
-> Seq Scan on tbl_sales_contracts t0 (cost=0.00..55.24 rows=1510 width=4)
Filter: need_analysis
-> Hash (cost=52.51..52.51 rows=1 width=44)
-> Subquery Scan on tcollect (cost=52.47..52.51 rows=1 width=44)
-> GroupAggregate (cost=52.47..52.50 rows=1 width=44)
Group Key: t0_1.id
-> Sort (cost=52.47..52.48 rows=1 width=14)
Sort Key: t0_1.id
-> Nested Loop (cost=0.28..52.46 rows=1 width=14)
-> Seq Scan on tbl_sales_contract_payments t1_1 (cost=0.00..44.16 rows=1 width=14)
Filter: ((collected_date >= '2025-06-18'::date) AND (collected_date <= '2025-07-03'::date))
-> Index Only Scan using tbl_sales_contracts_pkey on tbl_sales_contracts t0_1 (cost=0.28..8.29 rows=1 width=4)
Index Cond: (id = t1_1.contract_id)
-> Hash (cost=44.18..44.18 rows=1 width=4)
-> Group (cost=44.16..44.17 rows=1 width=4)
Group Key: tbl_sales_contract_payments.contract_id
-> Sort (cost=44.16..44.17 rows=1 width=4)
Sort Key: tbl_sales_contract_payments.contract_id
-> Seq Scan on tbl_sales_contract_payments (cost=0.00..44.16 rows=1 width=4)
Filter: ((collected_date >= '2025-06-18'::date) AND (collected_date <= '2025-07-03'::date))