| Limit (cost=15442.02..15442.07 rows=20 width=1074) |
| -> Sort (cost=15442.02..15442.56 rows=215 width=1074) |
| Sort Key: (CASE WHEN ((sum(p_1.budget)) IS NULL) THEN '0'::numeric ELSE (sum(p_1.budget)) END) DESC, c.created_at DESC |
| -> Group (cost=15368.58..15436.30 rows=215 width=1074) |
| Group Key: c.id, (CASE WHEN ((sum(p_1.budget)) IS NULL) THEN '0'::numeric ELSE (sum(p_1.budget)) END), (CASE WHEN ((sum(((p_1.budget * p_1.profit_pct) / '100'::numeric))) IS NULL) THEN '0'::numeric ELSE (sum(((p_1.budget * p_1.profit_pct) / '100'::numeric))) END), (CASE WHEN ((count(p_1.id)) IS NULL) THEN '0'::bigint ELSE (count(p_1.id)) END), (CASE WHEN (((sum(p_1.budget)) IS NULL) OR ((sum(p_1.budget)) = '0'::numeric)) THEN '0'::numeric ELSE ((sum(((p_1.budget * p_1.profit_pct) / '100'::numeric))) / (sum(p_1.budget))) END), (CASE WHEN ((sum(p_2.budget)) IS NULL) THEN '0'::numeric ELSE (sum(p_2.budget)) END), (CASE WHEN ((count(p_2.id)) IS NULL) THEN '0'::bigint ELSE (count(p_2.id)) END), (CASE WHEN (tmp3.budgets IS NULL) THEN '0'::numeric ELSE tmp3.budgets END), (CASE WHEN (tmp3.count IS NULL) THEN '0'::bigint ELSE tmp3.count END), (CASE WHEN (tmp4.pre_sales_counts IS NULL) THEN '0'::bigint ELSE tmp4.pre_sales_counts END), (CASE WHEN (tmp5.implement_counts IS NULL) THEN '0'::bigint ELSE tmp5.implement_counts END), (CASE WHEN (tmp4.pre_sales_times IS NOT NULL) THEN (date_part('epoch'::text, tmp4.pre_sales_times) / '3600'::double precision) ELSE '0'::double precision END), (CASE WHEN (tmp5.implement_times IS NOT NULL) THEN (date_part('epoch'::text, tmp5.implement_times) / '3600'::double precision) ELSE '0'::double precision END), (CASE WHEN ((sum((wl.end_at - wl.start_at))) IS NOT NULL) THEN (sum((wl.end_at - wl.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl.id)) IS NOT NULL) THEN (count(wl.id)) ELSE '0'::bigint END), (max(p_1.bargain_date)), (CASE WHEN (tmp8.reimbursement_amount IS NOT NULL) THEN tmp8.reimbursement_amount ELSE '0'::numeric END), (CASE WHEN (tmp9.points IS NOT NULL) THEN tmp9.points ELSE '0'::numeric END), (count(p_1.id)), ci.id, ct.id, (CASE WHEN (c.client_class IS NOT NULL) THEN (((((CASE WHEN (cc.contact_base > 0) THEN floor((CASE WHEN (c.contact_count > cc.contact_base) THEN '15'::bigint ELSE ((c.contact_count * 15) / cc.contact_base) END)::double precision) ELSE '15'::double precision END + floor((((c.client_base_info_count * 15) / 9))::double precision)) + CASE WHEN (cc.visit_base > 0) THEN floor(CASE WHEN ((c.visit_count)::double precision > ceil((CASE WHEN (date_part('year'::text, now()) = date_part('year'::text, ((c.created_at)::date)::timestamp without time zone)) THEN ((((now())::date - (c.created_at)::date) + 1))::double precision ELSE '352'::double precision END / (cc.visit_base)::double precision))) THEN '20'::double precision ELSE (((c.visit_count * 20))::double precision / ceil((CASE WHEN (date_part('year'::text, now()) = date_part('year'::text, ((c.created_at)::date)::timestamp without time zone)) THEN ((((now())::date - (c.created_at)::date) + 1))::double precision ELSE '352'::double precision END / (cc.visit_base)::double precision))) END) ELSE '20'::double precision END) + CASE WHEN (cc.cooperate_base > 0) THEN floor((CASE WHEN (c.cooperate_count > cc.cooperate_base) THEN '20'::bigint ELSE ((c.cooperate_count * 20) / cc.cooperate_base) END)::double precision) ELSE '20'::double precision END) + CASE WHEN (cc.case_pre_sales_base > 0) THEN floor((CASE WHEN (c.case_pre_sales_count > cc.case_pre_sales_base) THEN '15'::bigint ELSE ((c.case_pre_sales_count * 15) / cc.case_pre_sales_base) END)::double precision) ELSE '15'::double precision END) + CASE WHEN (cc.case_implement_base > 0) THEN floor((CASE WHEN (c.case_implement_count > cc.case_implement_base) THEN '15'::bigint ELSE ((c.case_implement_count * 15) / cc.case_implement_base) END)::double precision) ELSE '15'::double precision END) ELSE NULL::double precision END), (CASE WHEN ((sum(p_1.collected)) IS NULL) THEN '0'::numeric ELSE (sum(p_1.collected)) END), (CASE WHEN ((sum(CASE WHEN (p_1.budget >= p_1.collected) THEN (p_1.budget - p_1.collected) ELSE '0'::numeric END)) IS NULL) THEN '0'::numeric ELSE (sum(CASE WHEN (p_1.budget >= p_1.collected) THEN (p_1.budget - p_1.collected) ELSE '0'::numeric END)) END), (CASE WHEN (tmp10.invoices IS NULL) THEN '0'::numeric ELSE tmp10.invoices END), (CASE WHEN (tmp10.un_invoices IS NULL) THEN '0'::numeric ELSE tmp10.un_invoices END), (CASE WHEN (tmp11.count IS NULL) THEN '0'::bigint ELSE tmp11.count END), (CASE WHEN (tmp12.budgets IS NULL) THEN '0'::numeric ELSE tmp12.budgets END), (CASE WHEN ((count(DISTINCT p_1.used_client)) IS NULL) THEN '0'::bigint ELSE (count(DISTINCT p_1.used_client)) END), (CASE WHEN (tmp13.budgets IS NULL) THEN '0'::numeric ELSE tmp13.budgets END), (CASE WHEN (tmp13.profits IS NULL) THEN '0'::numeric ELSE tmp13.profits END), (CASE WHEN (tmp14.work_times IS NOT NULL) THEN tmp14.work_times ELSE '00:00:00'::interval END), (CASE WHEN (tmp14.work_count IS NOT NULL) THEN tmp14.work_count ELSE '0'::bigint END), (CASE WHEN (tmp15.work_times IS NOT NULL) THEN tmp15.work_times ELSE '00:00:00'::interval END), (CASE WHEN (tmp15.work_count IS NOT NULL) THEN tmp15.work_count ELSE '0'::bigint END), (CASE WHEN ((sum((wl_3.end_at - wl_3.start_at))) IS NOT NULL) THEN (sum((wl_3.end_at - wl_3.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl_3.id)) IS NOT NULL) THEN (count(wl_3.id)) ELSE '0'::bigint END), (CASE WHEN ((sum((wl_4.end_at - wl_4.start_at))) IS NOT NULL) THEN (sum((wl_4.end_at - wl_4.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl_4.id)) IS NOT NULL) THEN (count(wl_4.id)) ELSE '0'::bigint END), (CASE WHEN ((sum((wl_5.end_at - wl_5.start_at))) IS NOT NULL) THEN (sum((wl_5.end_at - wl_5.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl_5.id)) IS NOT NULL) THEN (count(wl_5.id)) ELSE '0'::bigint END) |
| -> Sort (cost=15368.58..15369.11 rows=215 width=1089) |
| Sort Key: c.id, (CASE WHEN ((sum(p_1.budget)) IS NULL) THEN '0'::numeric ELSE (sum(p_1.budget)) END) DESC, (CASE WHEN ((sum(((p_1.budget * p_1.profit_pct) / '100'::numeric))) IS NULL) THEN '0'::numeric ELSE (sum(((p_1.budget * p_1.profit_pct) / '100'::numeric))) END), (CASE WHEN ((count(p_1.id)) IS NULL) THEN '0'::bigint ELSE (count(p_1.id)) END), (CASE WHEN (((sum(p_1.budget)) IS NULL) OR ((sum(p_1.budget)) = '0'::numeric)) THEN '0'::numeric ELSE ((sum(((p_1.budget * p_1.profit_pct) / '100'::numeric))) / (sum(p_1.budget))) END), (CASE WHEN ((sum(p_2.budget)) IS NULL) THEN '0'::numeric ELSE (sum(p_2.budget)) END), (CASE WHEN ((count(p_2.id)) IS NULL) THEN '0'::bigint ELSE (count(p_2.id)) END), (CASE WHEN (tmp3.budgets IS NULL) THEN '0'::numeric ELSE tmp3.budgets END), (CASE WHEN (tmp3.count IS NULL) THEN '0'::bigint ELSE tmp3.count END), (CASE WHEN (tmp4.pre_sales_counts IS NULL) THEN '0'::bigint ELSE tmp4.pre_sales_counts END), (CASE WHEN (tmp5.implement_counts IS NULL) THEN '0'::bigint ELSE tmp5.implement_counts END), (CASE WHEN (tmp4.pre_sales_times IS NOT NULL) THEN (date_part('epoch'::text, tmp4.pre_sales_times) / '3600'::double precision) ELSE '0'::double precision END), (CASE WHEN (tmp5.implement_times IS NOT NULL) THEN (date_part('epoch'::text, tmp5.implement_times) / '3600'::double precision) ELSE '0'::double precision END), (CASE WHEN ((sum((wl.end_at - wl.start_at))) IS NOT NULL) THEN (sum((wl.end_at - wl.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl.id)) IS NOT NULL) THEN (count(wl.id)) ELSE '0'::bigint END), (max(p_1.bargain_date)), (CASE WHEN (tmp8.reimbursement_amount IS NOT NULL) THEN tmp8.reimbursement_amount ELSE '0'::numeric END), (CASE WHEN (tmp9.points IS NOT NULL) THEN tmp9.points ELSE '0'::numeric END), (count(p_1.id)), ci.id, ct.id, (CASE WHEN (c.client_class IS NOT NULL) THEN (((((CASE WHEN (cc.contact_base > 0) THEN floor((CASE WHEN (c.contact_count > cc.contact_base) THEN '15'::bigint ELSE ((c.contact_count * 15) / cc.contact_base) END)::double precision) ELSE '15'::double precision END + floor((((c.client_base_info_count * 15) / 9))::double precision)) + CASE WHEN (cc.visit_base > 0) THEN floor(CASE WHEN ((c.visit_count)::double precision > ceil((CASE WHEN (date_part('year'::text, now()) = date_part('year'::text, ((c.created_at)::date)::timestamp without time zone)) THEN ((((now())::date - (c.created_at)::date) + 1))::double precision ELSE '352'::double precision END / (cc.visit_base)::double precision))) THEN '20'::double precision ELSE (((c.visit_count * 20))::double precision / ceil((CASE WHEN (date_part('year'::text, now()) = date_part('year'::text, ((c.created_at)::date)::timestamp without time zone)) THEN ((((now())::date - (c.created_at)::date) + 1))::double precision ELSE '352'::double precision END / (cc.visit_base)::double precision))) END) ELSE '20'::double precision END) + CASE WHEN (cc.cooperate_base > 0) THEN floor((CASE WHEN (c.cooperate_count > cc.cooperate_base) THEN '20'::bigint ELSE ((c.cooperate_count * 20) / cc.cooperate_base) END)::double precision) ELSE '20'::double precision END) + CASE WHEN (cc.case_pre_sales_base > 0) THEN floor((CASE WHEN (c.case_pre_sales_count > cc.case_pre_sales_base) THEN '15'::bigint ELSE ((c.case_pre_sales_count * 15) / cc.case_pre_sales_base) END)::double precision) ELSE '15'::double precision END) + CASE WHEN (cc.case_implement_base > 0) THEN floor((CASE WHEN (c.case_implement_count > cc.case_implement_base) THEN '15'::bigint ELSE ((c.case_implement_count * 15) / cc.case_implement_base) END)::double precision) ELSE '15'::double precision END) ELSE NULL::double precision END), (CASE WHEN ((sum(p_1.collected)) IS NULL) THEN '0'::numeric ELSE (sum(p_1.collected)) END), (CASE WHEN ((sum(CASE WHEN (p_1.budget >= p_1.collected) THEN (p_1.budget - p_1.collected) ELSE '0'::numeric END)) IS NULL) THEN '0'::numeric ELSE (sum(CASE WHEN (p_1.budget >= p_1.collected) THEN (p_1.budget - p_1.collected) ELSE '0'::numeric END)) END), (CASE WHEN (tmp10.invoices IS NULL) THEN '0'::numeric ELSE tmp10.invoices END), (CASE WHEN (tmp10.un_invoices IS NULL) THEN '0'::numeric ELSE tmp10.un_invoices END), (CASE WHEN (tmp11.count IS NULL) THEN '0'::bigint ELSE tmp11.count END), (CASE WHEN (tmp12.budgets IS NULL) THEN '0'::numeric ELSE tmp12.budgets END), (CASE WHEN ((count(DISTINCT p_1.used_client)) IS NULL) THEN '0'::bigint ELSE (count(DISTINCT p_1.used_client)) END), (CASE WHEN (tmp13.budgets IS NULL) THEN '0'::numeric ELSE tmp13.budgets END), (CASE WHEN (tmp13.profits IS NULL) THEN '0'::numeric ELSE tmp13.profits END), (CASE WHEN (tmp14.work_times IS NOT NULL) THEN tmp14.work_times ELSE '00:00:00'::interval END), (CASE WHEN (tmp14.work_count IS NOT NULL) THEN tmp14.work_count ELSE '0'::bigint END), (CASE WHEN (tmp15.work_times IS NOT NULL) THEN tmp15.work_times ELSE '00:00:00'::interval END), (CASE WHEN (tmp15.work_count IS NOT NULL) THEN tmp15.work_count ELSE '0'::bigint END), (CASE WHEN ((sum((wl_3.end_at - wl_3.start_at))) IS NOT NULL) THEN (sum((wl_3.end_at - wl_3.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl_3.id)) IS NOT NULL) THEN (count(wl_3.id)) ELSE '0'::bigint END), (CASE WHEN ((sum((wl_4.end_at - wl_4.start_at))) IS NOT NULL) THEN (sum((wl_4.end_at - wl_4.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl_4.id)) IS NOT NULL) THEN (count(wl_4.id)) ELSE '0'::bigint END), (CASE WHEN ((sum((wl_5.end_at - wl_5.start_at))) IS NOT NULL) THEN (sum((wl_5.end_at - wl_5.start_at))) ELSE '00:00:00'::interval END), (CASE WHEN ((count(wl_5.id)) IS NOT NULL) THEN (count(wl_5.id)) ELSE '0'::bigint END) |
| -> Nested Loop Left Join (cost=14918.43..15360.25 rows=215 width=1089) |
| Join Filter: (egr.engineer_id = ca.engineer_id) |
| -> Hash Left Join (cost=14918.43..15230.98 rows=215 width=1105) |
| Hash Cond: (cas.id = ca.case_id) |
| -> Nested Loop Left Join (cost=14646.04..14955.11 rows=214 width=1105) |
| Join Filter: (ct.id = c.client_type) |
| -> Hash Left Join (cost=14646.04..14937.02 rows=214 width=959) |
| Hash Cond: (c.client_industry = ci.id) |
| -> Hash Right Join (cost=14644.50..14934.82 rows=214 width=813) |
| Hash Cond: (cas.client_id = c.id) |
| -> Seq Scan on tbl_cases cas (cost=0.00..257.31 rows=8231 width=8) |
| -> Hash (cost=14643.87..14643.87 rows=51 width=809) |
| -> Nested Loop Left Join (cost=14638.05..14643.87 rows=51 width=809) |
| Join Filter: (cc.id = c.client_class) |
| -> Merge Left Join (cost=14638.05..14639.97 rows=51 width=769) |
| Merge Cond: (c.id = wl_5.client_id) |
| -> Merge Left Join (cost=12870.24..12871.99 rows=51 width=745) |
| Merge Cond: (c.id = wl_4.client_id) |
| -> Merge Left Join (cost=11102.43..11104.00 rows=51 width=721) |
| Merge Cond: (c.id = wl_3.client_id) |
| -> Sort (cost=9333.63..9333.76 rows=51 width=697) |
| Sort Key: c.id |
| -> Hash Left Join (cost=9152.66..9332.19 rows=51 width=697) |
| Hash Cond: (c.id = tmp15.client_id) |
| -> Hash Left Join (cost=7340.93..7520.32 rows=51 width=673) |
| Hash Cond: (c.id = tmp14.client_id) |
| -> Hash Left Join (cost=5199.44..5378.70 rows=51 width=649) |
| Hash Cond: (c.id = tmp13.client_id) |
| -> Hash Left Join (cost=5007.74..5186.86 rows=51 width=585) |
| Hash Cond: (c.id = tmp12.client_id) |
| -> Hash Left Join (cost=4792.18..4971.17 rows=51 width=553) |
| Hash Cond: (c.id = tmp10.client_id) |
| -> Hash Left Join (cost=4587.61..4766.47 rows=51 width=489) |
| Hash Cond: (c.id = tmp9.client_id) |
| -> Hash Left Join (cost=3646.54..3825.26 rows=51 width=457) |
| Hash Cond: (c.id = tmp8.client_id) |
| -> Nested Loop Left Join (cost=3358.11..3536.69 rows=51 width=425) |
| Join Filter: ((csrr.sales_rep = c.sales_rep) AND (csrr.client_id = c.id)) |
| -> Hash Left Join (cost=3282.87..3371.08 rows=51 width=425) |
| Hash Cond: (c.id = tmp11.client_id) |
| -> Merge Left Join (cost=3065.25..3153.32 rows=51 width=417) |
| Merge Cond: (c.id = wl.client_id) |
| -> Merge Left Join (cost=1377.63..1459.05 rows=51 width=393) |
| Merge Cond: (c.id = p_2.client_id) |
| -> Merge Left Join (cost=1197.07..1277.72 rows=51 width=353) |
| Merge Cond: (c.id = p_1.client_id) |
| -> Sort (cost=930.34..930.47 rows=51 width=205) |
| Sort Key: c.id |
| -> Hash Left Join (cost=831.23..928.89 rows=51 width=205) |
| Hash Cond: (c.id = tmp5.client_id) |
| -> Hash Left Join (cost=333.88..431.41 rows=51 width=181) |
| Hash Cond: (c.id = tmp4.client_id) |
| -> Hash Left Join (cost=197.15..294.55 rows=51 width=157) |
| Hash Cond: (c.id = tmp3.client_id) |
| -> Nested Loop (cost=14.40..111.67 rows=51 width=117) |
| -> Seq Scan on tbl_sales_group_relationships sgr (cost=0.00..1.73 rows=1 width=4) |
| Filter: ((sales_id = 1001) AND (group_id = 1)) |
| -> Bitmap Heap Scan on tbl_clients c (cost=14.40..109.42 rows=51 width=117) |
| Recheck Cond: (sales_rep = 1001) |
| Filter: (NOT deleted) |
| -> Bitmap Index Scan on tbl_clients_sales_rep_idx (cost=0.00..4.71 rows=58 width=0) |
| Index Cond: (sales_rep = 1001) |
| -> Hash (cost=182.00..182.00 rows=60 width=44) |
| -> Subquery Scan on tmp3 (cost=180.65..182.00 rows=60 width=44) |
| -> HashAggregate (cost=180.65..181.40 rows=60 width=44) |
| Group Key: p.client_id |
| -> Seq Scan on tbl_projects p (cost=0.00..180.19 rows=61 width=13) |
| Filter: (project_status = 2) |
| -> Hash (cost=132.82..132.82 rows=313 width=28) |
| -> Subquery Scan on tmp4 (cost=126.56..132.82 rows=313 width=28) |
| -> HashAggregate (cost=126.56..129.69 rows=313 width=28) |
| Group Key: ps.client_id |
| -> Hash Left Join (cost=1.61..110.58 rows=1598 width=24) |
| Hash Cond: (ps.created_by = egr_1.engineer_id) |
| -> Seq Scan on tbl_pre_sales ps (cost=0.00..87.00 rows=1598 width=28) |
| Filter: (NOT is_draft) |
| -> Hash (cost=1.27..1.27 rows=27 width=4) |
| -> Seq Scan on tbl_engineer_group_relationships egr_1 (cost=0.00..1.27 rows=27 width=4) |
| -> Hash (cost=494.27..494.27 rows=246 width=28) |
| -> Subquery Scan on tmp5 (cost=489.35..494.27 rows=246 width=28) |
| -> HashAggregate (cost=489.35..491.81 rows=246 width=28) |
| Group Key: ir.client_id |
| -> Hash Left Join (cost=1.61..421.58 rows=6777 width=24) |
| Hash Cond: (ir.created_by = egr_2.engineer_id) |
| -> Seq Scan on tbl_implement_records ir (cost=0.00..326.79 rows=6777 width=28) |
| Filter: (NOT is_draft) |
| -> Hash (cost=1.27..1.27 rows=27 width=4) |
| -> Seq Scan on tbl_engineer_group_relationships egr_2 (cost=0.00..1.27 rows=27 width=4) |
| -> GroupAggregate (cost=266.73..336.36 rows=844 width=152) |
| Group Key: p_1.client_id |
| -> Sort (cost=266.73..270.79 rows=1623 width=30) |
| Sort Key: p_1.client_id |
| -> Seq Scan on tbl_projects p_1 (cost=0.00..180.19 rows=1623 width=30) |
| Filter: (project_status = 3) |
| -> GroupAggregate (cost=180.56..180.97 rows=18 width=44) |
| Group Key: p_2.client_id |
| -> Sort (cost=180.56..180.61 rows=18 width=13) |
| Sort Key: p_2.client_id |
| -> Seq Scan on tbl_projects p_2 (cost=0.00..180.19 rows=18 width=13) |
| Filter: (project_status = 1) |
| -> GroupAggregate (cost=1687.61..1691.84 rows=180 width=28) |
| Group Key: wl.client_id |
| -> Sort (cost=1687.61..1688.10 rows=194 width=24) |
| Sort Key: wl.client_id |
| -> Seq Scan on tbl_work_logs wl (cost=0.00..1680.24 rows=194 width=24) |
| Filter: ((NOT is_draft) AND (location_in_id IS NOT NULL) AND (location_out_id IS NOT NULL) AND (client_id IS NOT NULL)) |
| -> Hash (cost=206.16..206.16 rows=917 width=12) |
| -> Subquery Scan on tmp11 (cost=187.82..206.16 rows=917 width=12) |
| -> HashAggregate (cost=187.82..196.99 rows=917 width=44) |
| Group Key: p_3.client_id |
| -> Seq Scan on tbl_projects p_3 (cost=0.00..172.55 rows=3055 width=8) |
| -> Materialize (cost=75.23..130.02 rows=40 width=8) |
| -> Hash Join (cost=75.23..129.82 rows=40 width=8) |
| Hash Cond: (csrr.id = "ANY_subquery".max) |
| -> Seq Scan on tbl_client_sales_rep_rels csrr (cost=0.00..53.93 rows=81 width=12) |
| Filter: (sales_rep = 1001) |
| -> Hash (cost=72.73..72.73 rows=200 width=4) |
| -> HashAggregate (cost=70.73..72.73 rows=200 width=4) |
| Group Key: "ANY_subquery".max |
| -> Subquery Scan on "ANY_subquery" (cost=52.03..68.66 rows=831 width=4) |
| -> HashAggregate (cost=52.03..60.34 rows=831 width=8) |
| Group Key: csrrs.client_id |
| -> Seq Scan on tbl_client_sales_rep_rels csrrs (cost=0.00..47.14 rows=979 width=8) |
| Filter: (end_at IS NULL) |
| -> Hash (cost=283.07..283.07 rows=429 width=36) |
| -> Subquery Scan on tmp8 (cost=273.42..283.07 rows=429 width=36) |
| -> HashAggregate (cost=273.42..278.78 rows=429 width=36) |
| Group Key: r.client_id |
| -> Seq Scan on tbl_reimbursements r (cost=0.00..234.68 rows=7748 width=9) |
| Filter: (status = ANY ('{2,3}'::integer[])) |
| -> Hash (cost=938.58..938.58 rows=200 width=36) |
| -> Subquery Scan on tmp9 (cost=934.08..938.58 rows=200 width=36) |
| -> HashAggregate (cost=934.08..936.58 rows=200 width=36) |
| Group Key: c_1.client_id |
| -> HashAggregate (cost=707.73..810.61 rows=8231 width=40) |
| Group Key: c_1.id |
| -> Hash Left Join (cost=361.80..666.31 rows=8284 width=16) |
| Hash Cond: (ca_1.engineer_id = egr_3.engineer_id) |
| -> Hash Right Join (cost=360.20..550.79 rows=8284 width=20) |
| Hash Cond: (ca_1.case_id = c_1.id) |
| -> Seq Scan on tbl_case_assignments ca_1 (cost=0.00..168.84 rows=8284 width=16) |
| -> Hash (cost=257.31..257.31 rows=8231 width=8) |
| -> Seq Scan on tbl_cases c_1 (cost=0.00..257.31 rows=8231 width=8) |
| -> Hash (cost=1.27..1.27 rows=27 width=4) |
| -> Seq Scan on tbl_engineer_group_relationships egr_3 (cost=0.00..1.27 rows=27 width=4) |
| -> Hash (cost=202.07..202.07 rows=200 width=68) |
| -> Subquery Scan on tmp10 (cost=197.07..202.07 rows=200 width=68) |
| -> HashAggregate (cost=197.07..200.07 rows=200 width=68) |
| Group Key: sc.client_id |
| -> HashAggregate (cost=139.77..160.23 rows=1637 width=47) |
| Group Key: sc.id |
| -> Hash Right Join (cost=84.83..130.15 rows=1925 width=21) |
| Hash Cond: (sci.contract_id = sc.id) |
| -> Seq Scan on tbl_sales_contract_invoices sci (cost=0.00..40.25 rows=1925 width=10) |
| -> Hash (cost=64.37..64.37 rows=1637 width=15) |
| -> Seq Scan on tbl_sales_contracts sc (cost=0.00..64.37 rows=1637 width=15) |
| -> Hash (cost=205.48..205.48 rows=806 width=36) |
| -> Subquery Scan on tmp12 (cost=187.35..205.48 rows=806 width=36) |
| -> HashAggregate (cost=187.35..197.42 rows=806 width=44) |
| Group Key: p_4.client_id |
| -> Seq Scan on tbl_projects p_4 (cost=0.00..180.19 rows=1432 width=9) |
| Filter: (project_status <> 3) |
| -> Hash (cost=190.74..190.74 rows=77 width=68) |
| -> Subquery Scan on tmp13 (cost=188.81..190.74 rows=77 width=68) |
| -> HashAggregate (cost=188.81..189.97 rows=77 width=68) |
| Group Key: p_5.client_id |
| -> Seq Scan on tbl_projects p_5 (cost=0.00..187.82 rows=79 width=14) |
| Filter: ((project_status = 1) OR (project_status = 2)) |
| -> Hash (cost=2126.25..2126.25 rows=1219 width=28) |
| -> Subquery Scan on tmp14 (cost=2101.87..2126.25 rows=1219 width=28) |
| -> HashAggregate (cost=2101.87..2114.06 rows=1219 width=28) |
| Group Key: wl_1.client_id |
| -> Seq Scan on tbl_work_logs wl_1 (cost=0.00..1767.80 rows=33407 width=24) |
| Filter: ((NOT is_draft) AND (scenario_id = 1)) |
| -> Hash (cost=1800.72..1800.72 rows=881 width=28) |
| -> Subquery Scan on tmp15 (cost=1783.10..1800.72 rows=881 width=28) |
| -> HashAggregate (cost=1783.10..1791.91 rows=881 width=28) |
| Group Key: wl_2.client_id |
| -> Seq Scan on tbl_work_logs wl_2 (cost=0.00..1767.80 rows=1530 width=24) |
| Filter: ((NOT is_draft) AND (scenario_id = 2)) |
| -> GroupAggregate (cost=1768.80..1769.64 rows=37 width=28) |
| Group Key: wl_3.client_id |
| -> Sort (cost=1768.80..1768.89 rows=38 width=24) |
| Sort Key: wl_3.client_id |
| -> Seq Scan on tbl_work_logs wl_3 (cost=0.00..1767.80 rows=38 width=24) |
| Filter: ((NOT is_draft) AND (scenario_id = 3)) |
| -> GroupAggregate (cost=1767.81..1767.84 rows=1 width=28) |
| Group Key: wl_4.client_id |
| -> Sort (cost=1767.81..1767.82 rows=1 width=24) |
| Sort Key: wl_4.client_id |
| -> Seq Scan on tbl_work_logs wl_4 (cost=0.00..1767.80 rows=1 width=24) |
| Filter: ((NOT is_draft) AND (scenario_id = 4)) |
| -> GroupAggregate (cost=1767.81..1767.84 rows=1 width=28) |
| Group Key: wl_5.client_id |
| -> Sort (cost=1767.81..1767.82 rows=1 width=24) |
| Sort Key: wl_5.client_id |
| -> Seq Scan on tbl_work_logs wl_5 (cost=0.00..1767.80 rows=1 width=24) |
| Filter: ((NOT is_draft) AND (scenario_id = 5)) |
| -> Materialize (cost=0.00..1.06 rows=4 width=44) |
| -> Seq Scan on tbl_client_classes cc (cost=0.00..1.04 rows=4 width=44) |
| -> Hash (cost=1.24..1.24 rows=24 width=150) |
| -> Seq Scan on tbl_client_industries ci (cost=0.00..1.24 rows=24 width=150) |
| -> Materialize (cost=0.00..1.09 rows=6 width=150) |
| -> Seq Scan on tbl_client_types ct (cost=0.00..1.06 rows=6 width=150) |
| -> Hash (cost=168.84..168.84 rows=8284 width=8) |
| -> Seq Scan on tbl_case_assignments ca (cost=0.00..168.84 rows=8284 width=8) |
| -> Materialize (cost=0.00..1.41 rows=27 width=4) |
| -> Seq Scan on tbl_engineer_group_relationships egr (cost=0.00..1.27 rows=27 width=4) |