Re: row->ARRAY or row->table casting? - Mailing list pgsql-general

From Nico Sabbi
Subject Re: row->ARRAY or row->table casting?
Date
Msg-id 470121B3.7060706@officinedigitali.it
Whole thread Raw
In response to Re: row->ARRAY or row->table casting?  (Gregory Stark <stark@enterprisedb.com>)
List pgsql-general
Gregory Stark ha scritto:
> "Nico Sabbi" <nsabbi@officinedigitali.it> writes:
>
>
>> nb1=# select r.a from (select row(tab1.*)::tab1 as r from tab1)x;
>> ERROR:  missing FROM-clause entry for table "r"
>> LINE 1: select r.a from (select row(tab1.*)::tab1 as r from tab1)x;
>>               ^
>> I tried many variations (including casting x as tab1) obtaining only syntax
>> errors.
>>
>
> r.a would be the column "a" in the table named "r", but the only table in the
> FROM list is "x". So you have to use a workaround to make it clear to the
> parser that you're referring to the column "r", it would look like
>
> SELECT (r).a from (select row(tab1.*)::tab1 as r from tab1)x;
>
>
yes, it works.

Thanks a lot,
    Nico

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Inheritance fixing timeline? (Was "Inherited FK Indexing")
Next
From: Mike Charnoky
Date:
Subject: Re: more problems with count(*) on large table