| GroupAggregate (cost=1855.95..1860.85 rows=14 width=68) |
| Group Key: u.id |
| -> Merge Left Join (cost=1855.95..1859.80 rows=14 width=144) |
| Merge Cond: (u.id = t.user_id) |
| -> Merge Left Join (cost=1854.52..1858.32 rows=14 width=132) |
| Merge Cond: (u.id = am_3.user_id) |
| -> Merge Left Join (cost=164.72..165.31 rows=14 width=100) |
| Merge Cond: (u.id = am_1.user_id) |
| -> Merge Left Join (cost=61.45..61.83 rows=14 width=68) |
| Merge Cond: (u.id = t_1.handler) |
| -> Sort (cost=10.23..10.26 rows=14 width=4) |
| Sort Key: u.id |
| -> Seq Scan on tbl_users u (cost=0.00..9.96 rows=14 width=4) |
| Filter: (id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> GroupAggregate (cost=51.22..51.42 rows=8 width=68) |
| Group Key: t_1.handler |
| -> Sort (cost=51.22..51.24 rows=8 width=68) |
| Sort Key: t_1.handler |
| -> Append (cost=25.53..51.10 rows=8 width=68) |
| -> HashAggregate (cost=25.53..25.60 rows=5 width=68) |
| Group Key: t_1.handler |
| -> Hash Right Join (cost=11.01..25.17 rows=48 width=14) |
| Hash Cond: (eipss.erp_sales_outbound_id = t_1.id) |
| -> Seq Scan on tbl_erp_inventory_product_spents eipss (cost=0.00..12.65 rows=565 width=14) |
| -> Hash (cost=10.85..10.85 rows=13 width=8) |
| -> Seq Scan on tbl_erp_sales_outbounds t_1 (cost=1.07..10.85 rows=13 width=8) |
| Filter: (((NOT (hashed SubPlan 1)) OR (project_id IS NULL)) AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))) |
| SubPlan 1 |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_20.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_20.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_20 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> GroupAggregate (cost=25.31..25.42 rows=3 width=68) |
| Group Key: am.user_id |
| -> Sort (cost=25.31..25.32 rows=3 width=19) |
| Sort Key: am.user_id |
| -> Nested Loop (cost=9.01..25.29 rows=3 width=19) |
| Join Filter: (pd.project_id = t_2.project_id) |
| -> Hash Right Join (cost=7.92..22.71 rows=2 width=18) |
| Hash Cond: (eipss_1.erp_sales_outbound_id = t_2.id) |
| -> Seq Scan on tbl_erp_inventory_product_spents eipss_1 (cost=0.00..12.65 rows=565 width=14) |
| -> Hash (cost=7.91..7.91 rows=1 width=12) |
| -> Hash Join (cost=1.11..7.91 rows=1 width=12) |
| Hash Cond: (t_2.project_id = t_3.project_id) |
| -> Seq Scan on tbl_erp_sales_outbounds t_2 (cost=0.00..6.70 rows=38 width=8) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2)) |
| -> Hash (cost=1.09..1.09 rows=2 width=4) |
| -> 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)) |
| -> Materialize (cost=1.09..2.39 rows=7 width=13) |
| -> Hash Join (cost=1.09..2.35 rows=7 width=13) |
| Hash Cond: (am.erp_profit_distribute_id = pd.id) |
| -> Seq Scan on tbl_erp_profit_distribute_pcts am (cost=0.00..1.22 rows=7 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> Hash (cost=1.04..1.04 rows=4 width=8) |
| -> Seq Scan on tbl_erp_profit_distributes pd (cost=0.00..1.04 rows=4 width=8) |
| -> GroupAggregate (cost=103.27..103.37 rows=5 width=36) |
| Group Key: am_1.user_id |
| -> Sort (cost=103.27..103.29 rows=5 width=36) |
| Sort Key: am_1.user_id |
| -> Append (cost=24.90..103.22 rows=5 width=36) |
| -> GroupAggregate (cost=24.90..24.96 rows=3 width=36) |
| Group Key: am_1.user_id |
| -> Sort (cost=24.90..24.91 rows=3 width=9) |
| Sort Key: am_1.user_id |
| -> Nested Loop Left Join (cost=4.26..24.87 rows=3 width=9) |
| Filter: (((NOT (hashed SubPlan 2)) OR (t_4.sales_contract_id IS NULL)) AND ((NOT (hashed SubPlan 3)) OR (t_4.sales_contract_id IS NULL))) |
| -> Hash Join (cost=1.84..3.25 rows=3 width=13) |
| Hash Cond: (am_1.erp_other_income_ticket_id = t_4.id) |
| -> Seq Scan on tbl_erp_other_income_ticket_handlers am_1 (cost=0.00..1.39 rows=10 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> Hash (cost=1.70..1.70 rows=11 width=8) |
| -> Seq Scan on tbl_erp_other_income_tickets t_4 (cost=0.00..1.70 rows=11 width=8) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-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..6.48 rows=1 width=8) |
| Index Cond: (id = t_4.sales_contract_id) |
| SubPlan 2 |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_21.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_21.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_21 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| SubPlan 3 |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_22.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_22.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_22 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> GroupAggregate (cost=76.81..76.83 rows=1 width=36) |
| Group Key: am_2.user_id |
| -> Sort (cost=76.81..76.81 rows=1 width=15) |
| Sort Key: am_2.user_id |
| -> Nested Loop (cost=1.34..76.80 rows=1 width=15) |
| Join Filter: (pd_1.id = am_2.erp_profit_distribute_id) |
| -> Nested Loop (cost=1.34..75.49 rows=1 width=10) |
| Join Filter: (sc_1.from_project = pd_1.project_id) |
| -> Nested Loop (cost=1.34..74.40 rows=1 width=14) |
| Join Filter: (sc_1.from_project = t_6.project_id) |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_6.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_6.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_6 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> Materialize (cost=0.28..73.01 rows=11 width=10) |
| -> Nested Loop (cost=0.28..72.95 rows=11 width=10) |
| -> Seq Scan on tbl_erp_other_income_tickets t_5 (cost=0.00..1.70 rows=11 width=10) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-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_1 (cost=0.28..6.48 rows=1 width=8) |
| Index Cond: (id = t_5.sales_contract_id) |
| -> Seq Scan on tbl_erp_profit_distributes pd_1 (cost=0.00..1.04 rows=4 width=8) |
| -> Seq Scan on tbl_erp_profit_distribute_pcts am_2 (cost=0.00..1.22 rows=7 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> HashAggregate (cost=1.36..1.37 rows=1 width=36) |
| Group Key: t_7.handler |
| -> Seq Scan on tbl_erp_inventory_overflows t_7 (cost=0.00..1.35 rows=2 width=9) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))) |
| -> GroupAggregate (cost=1689.80..1691.70 rows=95 width=36) |
| Group Key: am_3.user_id |
| -> Sort (cost=1689.80..1690.04 rows=95 width=36) |
| Sort Key: am_3.user_id |
| -> Append (cost=920.55..1686.68 rows=95 width=36) |
| -> GroupAggregate (cost=920.55..922.15 rows=60 width=36) |
| Group Key: am_3.user_id |
| -> Sort (cost=920.55..920.83 rows=113 width=9) |
| Sort Key: am_3.user_id |
| -> Hash Left Join (cost=629.73..916.70 rows=113 width=9) |
| Hash Cond: (t_8.sales_contract_id = sc_2.id) |
| Filter: ((NOT (hashed SubPlan 4)) OR (t_8.sales_contract_id IS NULL)) |
| -> Hash Join (cost=538.69..825.31 rows=129 width=13) |
| Hash Cond: (am_3.erp_cash_cost_ticket_id = t_8.id) |
| -> Seq Scan on tbl_erp_cash_cost_ticket_handlers am_3 (cost=0.00..278.06 rows=3263 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> Hash (cost=534.50..534.50 rows=335 width=8) |
| -> Seq Scan on tbl_erp_cash_cost_tickets t_8 (cost=0.00..534.50 rows=335 width=8) |
| Filter: (is_payment_settle AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (status = 2)) |
| -> Hash (cost=68.32..68.32 rows=1732 width=8) |
| -> Seq Scan on tbl_sales_contracts sc_2 (cost=0.00..68.32 rows=1732 width=8) |
| SubPlan 4 |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_23.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_23.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_23 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> GroupAggregate (cost=615.16..615.19 rows=1 width=36) |
| Group Key: am_4.user_id |
| -> Sort (cost=615.16..615.17 rows=1 width=14) |
| Sort Key: am_4.user_id |
| -> Nested Loop (cost=1.11..615.15 rows=1 width=14) |
| Join Filter: (sc_3.id = t_9.sales_contract_id) |
| -> Nested Loop (cost=1.11..76.47 rows=1 width=13) |
| Join Filter: (pd_2.id = am_4.erp_profit_distribute_id) |
| -> Nested Loop (cost=1.11..75.16 rows=1 width=8) |
| Join Filter: (sc_3.from_project = pd_2.project_id) |
| -> Seq Scan on tbl_erp_profit_distributes pd_2 (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_3.from_project = t_10.project_id) |
| -> Seq Scan on tbl_sales_contracts sc_3 (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_10.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_10.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_10 (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_4 (cost=0.00..1.22 rows=7 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> Seq Scan on tbl_erp_cash_cost_tickets t_9 (cost=0.00..534.50 rows=335 width=9) |
| Filter: (is_payment_settle AND (created_at >= '2025-08-08 14:34:58+08'::timestamp with time zone) AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2)) |
| -> HashAggregate (cost=7.18..7.28 rows=8 width=36) |
| Group Key: am_5.user_id |
| -> Hash Join (cost=4.35..7.14 rows=8 width=9) |
| Hash Cond: (am_5.erp_cost_ticket_id = t_11.id) |
| -> Seq Scan on tbl_erp_cost_ticket_handlers am_5 (cost=0.00..2.62 rows=56 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> Hash (cost=4.25..4.25 rows=8 width=4) |
| -> Seq Scan on tbl_erp_cost_tickets t_11 (cost=1.07..4.25 rows=8 width=4) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND ((NOT (hashed SubPlan 5)) OR (project_id IS NULL)) AND (status = 2)) |
| SubPlan 5 |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_24.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_24.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_24 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> GroupAggregate (cost=6.59..6.62 rows=1 width=36) |
| Group Key: am_6.user_id |
| -> Sort (cost=6.59..6.59 rows=1 width=14) |
| Sort Key: am_6.user_id |
| -> Nested Loop (cost=1.11..6.58 rows=1 width=14) |
| Join Filter: (pd_3.id = am_6.erp_profit_distribute_id) |
| -> Nested Loop (cost=1.11..5.27 rows=1 width=9) |
| Join Filter: (t_12.project_id = pd_3.project_id) |
| -> Hash Join (cost=1.11..4.18 rows=1 width=13) |
| Hash Cond: (t_12.project_id = t_13.project_id) |
| -> Seq Scan on tbl_erp_cost_tickets t_12 (cost=0.00..3.03 rows=13 width=9) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2)) |
| -> Hash (cost=1.09..1.09 rows=2 width=4) |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_13.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_13.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_13 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> Seq Scan on tbl_erp_profit_distributes pd_3 (cost=0.00..1.04 rows=4 width=8) |
| -> Seq Scan on tbl_erp_profit_distribute_pcts am_6 (cost=0.00..1.22 rows=7 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> GroupAggregate (cost=38.88..39.12 rows=11 width=36) |
| Group Key: am_7.user_id |
| -> Sort (cost=38.88..38.92 rows=13 width=9) |
| Sort Key: am_7.user_id |
| -> Hash Join (cost=4.33..38.64 rows=13 width=9) |
| Hash Cond: (t_14.id = am_7.erp_cost_convert_ticket_id) |
| -> Nested Loop Left Join (cost=1.35..35.50 rows=4 width=4) |
| Filter: ((NOT (hashed SubPlan 6)) OR (t_14.sales_contract_id IS NULL)) |
| -> Seq Scan on tbl_erp_cost_convert_tickets t_14 (cost=0.00..1.19 rows=4 width=8) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-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_4 (cost=0.28..8.29 rows=1 width=8) |
| Index Cond: (id = t_14.sales_contract_id) |
| SubPlan 6 |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_25.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_25.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_25 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> Hash (cost=2.51..2.51 rows=37 width=13) |
| -> Seq Scan on tbl_erp_cost_convert_ticket_handlers am_7 (cost=0.00..2.51 rows=37 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> GroupAggregate (cost=46.02..46.04 rows=1 width=36) |
| Group Key: am_8.user_id |
| -> Sort (cost=46.02..46.02 rows=1 width=15) |
| Sort Key: am_8.user_id |
| -> Nested Loop (cost=1.34..46.01 rows=1 width=15) |
| Join Filter: (pd_4.id = am_8.erp_profit_distribute_id) |
| -> Nested Loop (cost=1.34..44.70 rows=1 width=10) |
| Join Filter: (sc_5.from_project = pd_4.project_id) |
| -> Nested Loop (cost=1.34..43.61 rows=1 width=14) |
| Join Filter: (sc_5.from_project = t_16.project_id) |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_16.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_16.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_16 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> Materialize (cost=0.28..42.41 rows=4 width=10) |
| -> Nested Loop (cost=0.28..42.39 rows=4 width=10) |
| -> Seq Scan on tbl_erp_cost_convert_tickets t_15 (cost=0.00..1.19 rows=4 width=10) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-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_5 (cost=0.28..8.29 rows=1 width=8) |
| Index Cond: (id = t_15.sales_contract_id) |
| -> Seq Scan on tbl_erp_profit_distributes pd_4 (cost=0.00..1.04 rows=4 width=8) |
| -> Seq Scan on tbl_erp_profit_distribute_pcts am_8 (cost=0.00..1.22 rows=7 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> HashAggregate (cost=25.05..25.14 rows=7 width=36) |
| Group Key: t_17.handler |
| -> Hash Right Join (cost=9.46..23.61 rows=193 width=14) |
| Hash Cond: (eipss_2.erp_sales_gift_id = t_17.id) |
| -> Seq Scan on tbl_erp_inventory_product_spents eipss_2 (cost=0.00..12.65 rows=565 width=14) |
| -> Hash (cost=8.91..8.91 rows=44 width=8) |
| -> Seq Scan on tbl_erp_sales_gifts t_17 (cost=1.07..8.91 rows=44 width=8) |
| Filter: (((NOT (hashed SubPlan 7)) OR (project_id IS NULL)) AND (created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2) AND (handler = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[]))) |
| SubPlan 7 |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_26.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_26.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_26 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> GroupAggregate (cost=23.97..24.20 rows=6 width=36) |
| Group Key: am_9.user_id |
| -> Sort (cost=23.97..24.00 rows=10 width=19) |
| Sort Key: am_9.user_id |
| -> Hash Right Join (cost=9.02..23.80 rows=10 width=19) |
| Hash Cond: (eipss_3.erp_sales_gift_id = t_18.id) |
| -> Seq Scan on tbl_erp_inventory_product_spents eipss_3 (cost=0.00..12.65 rows=565 width=14) |
| -> Hash (cost=8.99..8.99 rows=2 width=13) |
| -> Hash Join (cost=3.55..8.99 rows=2 width=13) |
| Hash Cond: (t_18.project_id = pd_5.project_id) |
| -> Hash Join (cost=1.11..6.53 rows=2 width=12) |
| Hash Cond: (t_18.project_id = t_19.project_id) |
| -> Seq Scan on tbl_erp_sales_gifts t_18 (cost=0.00..5.26 rows=54 width=8) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone) AND (status = 2)) |
| -> Hash (cost=1.09..1.09 rows=2 width=4) |
| -> Group (cost=1.06..1.07 rows=2 width=4) |
| Group Key: t_19.project_id |
| -> Sort (cost=1.06..1.06 rows=2 width=4) |
| Sort Key: t_19.project_id |
| -> Seq Scan on tbl_erp_profit_distributes t_19 (cost=0.00..1.05 rows=2 width=4) |
| Filter: ((project_id IS NOT NULL) AND (status = 2)) |
| -> Hash (cost=2.35..2.35 rows=7 width=13) |
| -> Hash Join (cost=1.09..2.35 rows=7 width=13) |
| Hash Cond: (am_9.erp_profit_distribute_id = pd_5.id) |
| -> Seq Scan on tbl_erp_profit_distribute_pcts am_9 (cost=0.00..1.22 rows=7 width=13) |
| Filter: (user_id = ANY ('{5500,5499,5332,1001,5087,5467,5300,5311,5295,1013,5476,1004,1005,5449}'::integer[])) |
| -> Hash (cost=1.04..1.04 rows=4 width=8) |
| -> Seq Scan on tbl_erp_profit_distributes pd_5 (cost=0.00..1.04 rows=4 width=8) |
| -> Sort (cost=1.43..1.43 rows=1 width=16) |
| Sort Key: t.user_id |
| -> Seq Scan on tbl_erp_user_profits t (cost=0.00..1.42 rows=1 width=16) |
| Filter: ((created_at >= '2026-01-01 00:00:00+08'::timestamp with time zone) AND (created_at <= '2026-12-31 23:59:59+08'::timestamp with time zone)) |