Re: Get more columns from a lookup type subselect

From: negora <public(at)negora(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Get more columns from a lookup type subselect
Date: 2023-03-10 08:43:11
Message-ID: 906d7125-2de3-bcb9-6a64-c0f58d8a0017@negora.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Chris:

You can use a subselect in the `from` and `join` clauses. That's how I
get multiple columns from a single subselect.

If the subselect needs to use a reference from the outer scope (i.e. the
main query) , you can use the `lateral` modifier.

Best regards.

On 10/03/2023 08:34, Durumdara wrote:
> Dear Members!
>
> I use the subselects many times in my Queries to get some info (Name,
> etc) from a subtable.
>
> Sometimes I have to use it to get the last element.
>
> select t.*,
>    (
>
> select value from u join ... where ...
>
> order by id desc limit 1
>
>    ) as last_value,
>
> It is ok, but how can I get more values from subselect without
> repeating the subquery?
>
> select t.*,
>    (
>
> select value from u join ... where ...
>
> order by date desc limit 1
>
>    ) as last_value,
>    (
>
> select type from u join ... where ...
>
> order by date desc limit 1
>
>    ) as last_type,
>
> This is not too comfortable, and may make mistakes if the join is not
> defined properly or the date has duplicates.
>
> Ok, I can use WITH Query:
>
> with
>   pre as ( select * from t .... )
>   ,sub as (select pre.*, (select u.id <http://u.id> from u where ...
> limit 1) as last_u_id
> select  sub.*, u.value, u.type, u.nnn from sub
> left join u on (u.id <http://u.id> = sub.last_u_id)
>
> But sometimes it makes the Query very long (because I have to read
> more subselects).
>
> Do you know a simple method for this, like:
>
> select t.*,
>    (
>
> select value, type, anyfield from u join ... where ...
>
> order by date desc limit 1
>
>    ) as last_value, last_type, anyfield
>
> ?
>
> Thank you for the help!
>
> Best regards
> Chris

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Durumdara 2023-03-10 10:00:14 Re: Get more columns from a lookup type subselect
Previous Message Gustavsson Mikael 2023-03-10 07:48:14 SV: Onfly, function generated ID for Select Query