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 |