Fwd: Getting several columns from subselect with LIMIT 1

Поиск
Список
Период
Сортировка
От Pierre Thibaudeau
Тема Fwd: Getting several columns from subselect with LIMIT 1
Дата
Msg-id 74b035bb0809200953y1774db17qcb262e6aa6964e7f@mail.gmail.com
обсуждение исходный текст
Ответ на Getting several columns from subselect with LIMIT 1  ("Pierre Thibaudeau" <pierdeux@gmail.com>)
Список pgsql-general
Thanks for the suggestion.  Unfortunately I get an INVALID COLUMN
REFERENCE (SQL state: 42P10)
to the effect that the subselect in the FROM clause cannot reference
other tables at the same request level.


2008/9/20 Marcus Engene <mengpg2@engene.se>:
>>
>> SELECT
>>        persons.*,
>>        (
>>                SELECT child.name
>>                FROM progeny JOIN persons child ON child.id = progeny.child
>>                WHERE progeny.parent = persons.id
>>                ORDER BY child.birthdate ASC
>>                LIMIT 1
>>        ) AS firstborn_name
>>  FROM persons;
>>
>> Now, this is probably not the most elegant piece of code, but the real
>> problem is that
>> I cannot see how to extend it to the case where I want not only the
>> firstborn's name but also the firstborn's ID
>> (short of repeating the entire subselect a second time).  At the
>> moment, with this current syntax, my subSELECT statement would not be
>> allowed to return more than a single column.
>
> Would this work?
>
> select
>   p.*
>  ,pp.*
> from
>   persons p
>  ,(
>       SELECT child.name, child.id
>       FROM progeny JOIN persons child ON child.id = progeny.child
>       WHERE progeny.parent = p.id
>       ORDER BY child.birthdate ASC
>       LIMIT 1
>   ) as kid(kid_name,kid_id)

В списке pgsql-general по дате отправления:

Предыдущее
От: "Darren Weber"
Дата:
Сообщение: Re: [HACKERS] macport for libpqxx
Следующее
От: Michelle Konzack
Дата:
Сообщение: PDF Documentation for 8.3?