| From: | Gary Stainburn <gary(dot)stainburn(at)ringways(dot)co(dot)uk> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: left outer join with count |
| Date: | 2020-05-30 19:40:32 |
| Message-ID: | 202005302040.32647.gary.stainburn@ringways.co.uk |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
On Saturday 30 May 2020 05:43:06 Gábor SZŰCS wrote:
> Hello Gary,
>
> Depends on way too many things, but assuming
> - You are concerned about cardinality of wd Vs SJ
> - SJ.sj_id is unique
> - there are necessary indexes in place
> ...
> Then I'd recommend subselect in SELECT clause, like:
>
>
> select sj.*, sr.*,
> (select count(sj_id) from work_documents wd where
> wd.sj_id=SJ.sj_id) doc_count
> from
> service_jobs sj
> left outer join service_receptions sr on sr.sr_id = sj.sj_sr_id;
>
> (Note, haven't verified syntax)
>
> Maybe if you could send explain plans and index info...
Thank you for this. I ended up doing it as two separate queries. Seems to be quicker.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Wayne Cuddy | 2020-06-02 00:43:25 | autovacuum processes not spawning |
| Previous Message | Gábor SZŰCS | 2020-05-30 04:43:06 | Re: left outer join with count |