Re: subquery in FROM must have an alias

From: "Ashutosh Chauhan" <ashutosh(dot)chauhan(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: subquery in FROM must have an alias
Date: 2008-09-29 21:58:44
Message-ID: 54de02ae0809291458y2df00593s94b8aaf715104642@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks to Stephan and Hubert for their replies. Using your answers I
was able to solve the problem. It turned out that its a natural join
that I wanted.

Thanks for quick help,
Ashutosh

On Sun, Sep 28, 2008 at 10:18, Stephan Szabo
<sszabo(at)megazone(dot)bigpanda(dot)com> wrote:
> On Sun, 28 Sep 2008, Ashutosh Chauhan wrote:
>
>> Hi all,
>>
>> This has been asked before and answered as well.
>> http://archives.postgresql.org/pgsql-sql/2007-12/msg00002.php but I
>> still cant figure out why postgres throws this error message even when
>> I have provided the aliases. My query:
>>
>> select a,b
>> from (billing.item JOIN (
>> select *
>> from ( billing.invoice JOIN billing.customer
>> on (id_customer_shipped = customer_uid and
>> address = 'pgh' ))
>> as temp2 ))
>> as temp;
>>
>> I have two from clauses so I have provided two corresponding alias
>> names for those two from clauses.
>
> If you break the above down a bit, you have:
>
> select a,b
> from
> (
> billing.item join
> (select * from
> (
> billing.invoice join
> billing.customer
> on (id_customer_shipped = customer_uid and address='pgh')
> )
> as temp2
> )
> )
> as temp;
>
> What the system is complaining about is the subselect (select * from ... )
> not having an alias. You've aliased the billing.invoice join
> billing.customer one and (billing.item join (...)) one, but not the
> subselect. In fact, I believe the two aliases you're using aren't strictly
> necessary. Also, the above appears to be missing the condition for the
> outermost join.
>
> Maybe something like the following will work with a filled in on
> condition:
>
> select a,b
> from
> (
> billing.item join
> (select * from
> (
> billing.invoice join
> billing.customer
> on (id_customer_shipped = customer_uid and address='pgh')
> )
> )
> as temp
> on (...)
> )
>
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tommy Gibbons 2008-09-29 22:03:04 Sample databases
Previous Message Greg Smith 2008-09-29 21:53:02 Re: PostgreSQL Cache