| GroupAggregate (cost=1150.58..1177.16 rows=217 width=272) |
| Group Key: ex.id, sub.product_brand |
| Filter: ((sum(sub.amount) <> '0'::numeric) OR (sum(sub.ex_amount) <> '0'::numeric)) |
| -> Sort (cost=1150.58..1151.12 rows=217 width=208) |
| Sort Key: ex.id, sub.product_brand |
| -> Hash Right Join (cost=1136.40..1142.16 rows=217 width=208) |
| Hash Cond: (ex.id = sub.product_brand) |
| -> Seq Scan on tbl_product_brands ex (cost=0.00..5.18 rows=218 width=12) |
| -> Hash (cost=1133.68..1133.68 rows=217 width=196) |
| -> Subquery Scan on sub (cost=1126.09..1133.68 rows=217 width=196) |
| -> HashAggregate (cost=1126.09..1131.51 rows=217 width=196) |
| Group Key: p.product_brand |
| -> Hash Left Join (cost=1005.60..1088.97 rows=2121 width=196) |
| Hash Cond: (p.id = sub2.product_id) |
| -> Hash Left Join (cost=502.99..580.78 rows=2121 width=104) |
| Hash Cond: (p.id = sub_1.product_id) |
| -> Seq Scan on tbl_products p (cost=0.00..72.21 rows=2121 width=8) |
| -> Hash (cost=502.94..502.94 rows=4 width=100) |
| -> Subquery Scan on sub_1 (cost=502.78..502.94 rows=4 width=100) |
| -> GroupAggregate (cost=502.78..502.90 rows=4 width=100) |
| Group Key: esosps.product_id |
| -> Sort (cost=502.78..502.79 rows=4 width=18) |
| Sort Key: esosps.product_id |
| -> Nested Loop (cost=106.28..502.74 rows=4 width=18) |
| Join Filter: (esosps.erp_sales_outbound_id = t.id) |
| -> Hash Join (cost=93.03..468.63 rows=1 width=4) |
| Hash Cond: (project.id = t.project_id) |
| -> Bitmap Heap Scan on tbl_projects project (cost=82.34..457.81 rows=21 width=4) |
| Recheck Cond: (created_by = 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,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..82.34 rows=2110 width=0) |
| Index Cond: (created_by = 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,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=8.90..8.90 rows=143 width=8) |
| -> Seq Scan on tbl_erp_sales_outbounds t (cost=0.00..8.90 rows=143 width=8) |
| Filter: (status = 2) |
| -> Hash Right Join (cost=13.25..27.21 rows=551 width=22) |
| Hash Cond: (eipss.erp_sales_outbound_spent_product_id = esosps.id) |
| -> Seq Scan on tbl_erp_inventory_product_spents eipss (cost=0.00..12.51 rows=551 width=13) |
| -> Hash (cost=8.11..8.11 rows=411 width=17) |
| -> Seq Scan on tbl_erp_sales_outbound_spent_products esosps (cost=0.00..8.11 rows=411 width=17) |
| -> Hash (cost=502.48..502.48 rows=11 width=100) |
| -> Subquery Scan on sub2 (cost=502.04..502.48 rows=11 width=100) |
| -> GroupAggregate (cost=502.04..502.37 rows=11 width=100) |
| Group Key: esosps_1.product_id |
| -> Sort (cost=502.04..502.07 rows=11 width=18) |
| Sort Key: esosps_1.product_id |
| -> Hash Left Join (cost=125.69..501.85 rows=11 width=18) |
| Hash Cond: (esosps_1.id = eipss_1.erp_sales_outbound_spent_product_id) |
| -> Hash Join (cost=106.29..482.35 rows=8 width=13) |
| Hash Cond: (t_1.id = esosps_1.erp_sales_outbound_id) |
| -> Hash Join (cost=93.04..468.95 rows=3 width=4) |
| Hash Cond: (project_1.id = t_1.project_id) |
| -> Bitmap Heap Scan on tbl_projects project_1 (cost=82.35..457.82 rows=66 width=4) |
| Recheck Cond: (created_by = 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,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 >= '2025-01-01'::date) AND (bargain_date <= '2025-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..82.34 rows=2110 width=0) |
| Index Cond: (created_by = 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,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=8.90..8.90 rows=143 width=8) |
| -> Seq Scan on tbl_erp_sales_outbounds t_1 (cost=0.00..8.90 rows=143 width=8) |
| Filter: (status = 2) |
| -> Hash (cost=8.11..8.11 rows=411 width=17) |
| -> Seq Scan on tbl_erp_sales_outbound_spent_products esosps_1 (cost=0.00..8.11 rows=411 width=17) |
| -> Hash (cost=12.51..12.51 rows=551 width=13) |
| -> Seq Scan on tbl_erp_inventory_product_spents eipss_1 (cost=0.00..12.51 rows=551 width=13) |