Re: Select in From clause - Mailing list pgsql-sql

From Alvaro Herrera
Subject Re: Select in From clause
Date
Msg-id 20071109183559.GA7161@alvh.no-ip.org
Whole thread Raw
In response to Select in From clause  ("Ray Madigan" <ray@madigans.org>)
List pgsql-sql
Ray Madigan wrote:
> I have never seen this done before, but it seems like it is supposed to work
> from reading the manual.
> 
> I want to be able to get a table name from another table and use it in the
> from clause of a select.
> 
> Something like
> 
> SELECT * FROM (SELECT name FROM bar WHERE conditions) AS b WHERE b.condition
> = xxx;
> 
> which translates to something like
> 
> SELECT * FROM Dealer AS b WHERE b.zipcode = 12345;

No, that's not how it works.  The stuff returned by the inner select is
a set of rows which can be further operated upon by the outer select.
It is not expanded into a table name.

One way to construct queries is to build plpgsql functions and use
EXECUTE.  However, the approach you are using looks like bad practice
(read: bad database design).

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


pgsql-sql by date:

Previous
From: "Ray Madigan"
Date:
Subject: Select in From clause
Next
From: Michele Petrazzo - Unipex srl
Date:
Subject: functions are returns columns