Re: nested query problem - Mailing list pgsql-general

From Tom Lane
Subject Re: nested query problem
Date
Msg-id 19947.1536268297@sss.pgh.pa.us
Whole thread Raw
In response to nested query problem  (David Gauthier <davegauthierpg@gmail.com>)
List pgsql-general
David Gauthier <davegauthierpg@gmail.com> writes:
> I'm having trouble with this query...

> select sr.sqf_id, sr.status, fse.perl_sub_name, fse.end_datetime
>   from
>     sqf_runs sr,
>     (select perl_sub_name, end_datetime from flow_step_events_view where
> sqf_id = sr.sqf_id order by 2 limit 1) fse
>   where sr.userid='foo';

> ERROR:  invalid reference to FROM-clause entry for table "sr"
> LINE 4: ...atetime from flow_step_events_view where sqf_id = sr.sqf_id ...
>                                                              ^
> HINT:  There is an entry for table "sr", but it cannot be referenced from
> this part of the query.

If you actually meant to access the outer "sqf_runs" RTE from the
sub-query, you need to mark it LATERAL:

select sr.sqf_id, sr.status, fse.perl_sub_name, fse.end_datetime
  from
    sqf_runs sr,
    lateral (select perl_sub_name, end_datetime from flow_step_events_view where
sqf_id = sr.sqf_id order by 2 limit 1) fse
  where sr.userid='foo';

            regards, tom lane


pgsql-general by date:

Previous
From: Paul Jungwirth
Date:
Subject: Re: nested query problem
Next
From: David Gauthier
Date:
Subject: Re: nested query problem