QUERY PLAN
Aggregate (cost=1041.23..1041.24 rows=1 width=32)
-> GroupAggregate (cost=619.75..1040.93 rows=17 width=132)
Group Key: sc.project_id
-> Sort (cost=619.75..619.79 rows=17 width=16)
Sort Key: sc.project_id
-> Hash Left Join (cost=577.71..619.40 rows=17 width=16)
Hash Cond: (c.sales_rep = sgr.sales_id)
-> Nested Loop Left Join (cost=575.61..617.15 rows=17 width=20)
Filter: ((c.sales_rep = ANY ('{1001,5049,5301,5022,5209,5026,5293,5309,5356,5329,5299,5303,5302,5332,5047,1026,5096,5070,5448,5420,1029,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))
-> Hash Join (cost=575.33..602.60 rows=23 width=20)
Hash Cond: (sc.from_project = p.id)
Join Filter: ((CASE WHEN (p.collected IS NULL) THEN '0'::numeric ELSE p.collected END < (SubPlan 2)) AND (((scpcrd.remind_date >= '2025-08-01'::date) AND (scpcrd.remind_date <= '2025-08-31'::date)) OR ((CASE WHEN (p.collected IS NULL) THEN '0'::numeric ELSE p.collected END < (SubPlan 3)) AND (CASE WHEN (scpcrd.remind_date <= '2025-08-09'::date) THEN ((SubPlan 4) - CASE WHEN (p.collected IS NULL) THEN '0'::numeric ELSE p.collected END) ELSE '0'::numeric END > '0'::numeric))))
-> Hash Join (cost=246.31..271.03 rows=972 width=20)
Hash Cond: (scpcrd.contract_id = sc.id)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrd (cost=0.00..22.11 rows=988 width=8)
Filter: (remind_date <= '2025-08-09'::date)
-> Hash (cost=226.84..226.84 rows=1558 width=16)
-> Seq Scan on tbl_sales_contracts sc (cost=0.00..226.84 rows=1558 width=16)
Filter: (from_project IS NOT NULL)
-> Hash (cost=309.54..309.54 rows=1558 width=8)
-> Seq Scan on tbl_projects p (cost=0.00..309.54 rows=1558 width=8)
Filter: (project_status = 3)
SubPlan 2
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_1 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 3
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_2 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
SubPlan 4
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub_3 (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))
-> Index Scan using tbl_clients_pkey on tbl_clients c (cost=0.28..0.54 rows=1 width=8)
Index Cond: (sc.client_id = id)
-> Hash (cost=1.49..1.49 rows=49 width=4)
-> Seq Scan on tbl_sales_group_relationships sgr (cost=0.00..1.49 rows=49 width=4)
SubPlan 1
-> Aggregate (cost=24.74..24.75 rows=1 width=32)
-> Seq Scan on tbl_sales_contract_payment_collection_remind_dates scpcrdsub (cost=0.00..24.73 rows=1 width=6)
Filter: ((remind_date <= scpcrd.remind_date) AND (contract_id = scpcrd.contract_id))