QUERY PLAN
GroupAggregate (cost=599.09..601.40 rows=33 width=152)
Group Key: ex.id, sub.product_component
Filter: (sum(sub.amount) <> '0'::numeric)
-> Sort (cost=599.09..599.17 rows=33 width=120)
Sort Key: ex.id, sub.product_component
-> Hash Right Join (cost=594.23..598.26 rows=33 width=120)
Hash Cond: (ex.id = sub.product_component)
-> Seq Scan on tbl_product_components ex (cost=0.00..3.60 rows=160 width=20)
-> Hash (cost=593.81..593.81 rows=33 width=100)
-> Subquery Scan on sub (cost=592.44..593.81 rows=33 width=100)
-> GroupAggregate (cost=592.44..593.48 rows=33 width=100)
Group Key: p.product_component
-> Sort (cost=592.44..592.54 rows=37 width=100)
Sort Key: p.product_component
-> Hash Left Join (cost=508.55..591.48 rows=37 width=100)
Hash Cond: (p.id = sub_1.product_id)
-> Seq Scan on tbl_products p (cost=0.00..82.83 rows=37 width=8)
Filter: ((product_type = 4) AND (product_brand = 4))
-> Hash (cost=508.50..508.50 rows=4 width=100)
-> Subquery Scan on sub_1 (cost=508.34..508.50 rows=4 width=100)
-> GroupAggregate (cost=508.34..508.46 rows=4 width=100)
Group Key: esosps.product_id
-> Sort (cost=508.34..508.35 rows=4 width=19)
Sort Key: esosps.product_id
-> Nested Loop (cost=106.06..508.30 rows=4 width=19)
Join Filter: (esosps.erp_sales_outbound_id = t.id)
-> Hash Join (cost=89.04..470.08 rows=1 width=4)
Hash Cond: (project.id = t.project_id)
-> Bitmap Heap Scan on tbl_projects project (cost=79.37..460.22 rows=24 width=4)
Recheck Cond: (created_by = ANY ('{1001,5049,5500,5301,5499,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,5467,5294,5357,5044,1030,5076,5300,5027,5089,5311,5066,5069,5364,1009,5295,1013,5128,5203,1025,5032,5075,5476,1004,5072,5033,5359,5412,5409,5229,1005,5304,5449,5358,1006,5093}'::integer[]))
Filter: ((bargain_date >= '2026-01-01'::date) AND (bargain_date <= '2026-12-31'::date) AND (((budget > collected) AND (project_status = ANY ('{3,-1}'::integer[]))) OR ((budget <= collected) AND (project_status = 3))))
-> Bitmap Index Scan on tbl_projects_created_by_idx (cost=0.00..79.36 rows=2111 width=0)
Index Cond: (created_by = ANY ('{1001,5049,5500,5301,5499,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,5467,5294,5357,5044,1030,5076,5300,5027,5089,5311,5066,5069,5364,1009,5295,1013,5128,5203,1025,5032,5075,5476,1004,5072,5033,5359,5412,5409,5229,1005,5304,5449,5358,1006,5093}'::integer[]))
-> Hash (cost=7.40..7.40 rows=182 width=8)
-> Seq Scan on tbl_erp_sales_outbounds t (cost=0.00..7.40 rows=182 width=8)
Filter: (status = 2)
-> Hash Right Join (cost=17.02..31.16 rows=565 width=23)
Hash Cond: (eipss.erp_sales_outbound_spent_product_id = esosps.id)
-> Seq Scan on tbl_erp_inventory_product_spents eipss (cost=0.00..12.65 rows=565 width=14)
-> Hash (cost=10.34..10.34 rows=534 width=17)
-> Seq Scan on tbl_erp_sales_outbound_spent_products esosps (cost=0.00..10.34 rows=534 width=17)