QUERY PLAN
Aggregate (cost=125.78..125.79 rows=1 width=32)
-> Append (cost=47.38..125.78 rows=2 width=32)
-> Aggregate (cost=47.38..47.39 rows=1 width=32)
-> Nested Loop Left Join (cost=3.36..47.35 rows=9 width=5)
Filter: ((NOT (hashed SubPlan 1)) OR (t.sales_contract_id IS NULL))
-> Hash Join (cost=2.01..3.19 rows=9 width=9)
Hash Cond: (am.erp_other_income_ticket_id = t.id)
-> Seq Scan on tbl_erp_other_income_ticket_handlers am (cost=0.00..1.14 rows=14 width=9)
-> Hash (cost=1.70..1.70 rows=25 width=8)
-> Seq Scan on tbl_erp_other_income_tickets t (cost=0.00..1.70 rows=25 width=8)
Filter: ((created_at >= '2025-07-11 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))
-> Index Scan using tbl_sales_contracts_pkey on tbl_sales_contracts sc (cost=0.28..4.77 rows=1 width=8)
Index Cond: (id = t.sales_contract_id)
SubPlan 1
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_3.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_3.project_id
-> Seq Scan on tbl_erp_profit_distributes t_3 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Aggregate (cost=78.36..78.37 rows=1 width=32)
-> Nested Loop (cost=1.11..78.35 rows=1 width=11)
Join Filter: (sc_1.id = t_1.sales_contract_id)
-> Nested Loop (cost=1.11..76.34 rows=1 width=9)
Join Filter: (pd.id = am_1.erp_profit_distribute_id)
-> Nested Loop (cost=1.11..75.16 rows=1 width=8)
Join Filter: (sc_1.from_project = pd.project_id)
-> Seq Scan on tbl_erp_profit_distributes pd (cost=0.00..1.04 rows=4 width=8)
-> Materialize (cost=1.11..74.00 rows=2 width=12)
-> Hash Join (cost=1.11..73.99 rows=2 width=12)
Hash Cond: (sc_1.from_project = t_2.project_id)
-> Seq Scan on tbl_sales_contracts sc_1 (cost=0.00..68.32 rows=1732 width=8)
-> Hash (cost=1.09..1.09 rows=2 width=4)
-> Group (cost=1.06..1.07 rows=2 width=4)
Group Key: t_2.project_id
-> Sort (cost=1.06..1.06 rows=2 width=4)
Sort Key: t_2.project_id
-> Seq Scan on tbl_erp_profit_distributes t_2 (cost=0.00..1.05 rows=2 width=4)
Filter: ((project_id IS NOT NULL) AND (status = 2))
-> Seq Scan on tbl_erp_profit_distribute_pcts am_1 (cost=0.00..1.08 rows=8 width=9)
-> Seq Scan on tbl_erp_other_income_tickets t_1 (cost=0.00..1.70 rows=25 width=10)
Filter: ((created_at >= '2025-07-11 00:00:00+08'::timestamp with time zone) AND (created_at <= '2025-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2))