Обсуждение: add to table which name is in table
Hello
i have table:
create table table_names (
id SERIAL,
name VARCHAR(75) NOT NULL
);
and for each name in table_names i have table (which name is name field from table_names).
So in table_names i have records:
1 table1
2 table2
3 table3
So i have three other tables named: table1 table2 table3.
And i want to operate on that tables by reading their names from table_names. I tried:
select * from (select name from table_names where id=1) as something;
but i received only:
table_names
--------------
table1
(1 row)
And i wanted to receive everything from table1.
How can i do it ?
Thanx
Michal
On Sat, 2004-07-17 at 08:41, teknet@poczta.onet.pl wrote: > Hello > > i have table: > > create table table_names ( > id SERIAL, > name VARCHAR(75) NOT NULL > ); > > > > and for each name in table_names i have table (which name is name field from > table_names). > > So in table_names i have records: > > 1 table1 > > 2 table2 > > 3 table3 > > > > So i have three other tables named: table1 table2 table3. > > And i want to operate on that tables by reading their names from > table_names. I tried: > > select * from (select name from table_names where id=1) as something; > > but i received only: > > table_names > -------------- > table1 > (1 row) > > And i wanted to receive everything from table1. > > How can i do it ? SQL can't do that. You would need to do it by EXECUTE statements in a PL/pgSQL function. -- Oliver Elphick olly@lfix.co.uk Isle of Wight http://www.lfix.co.uk/oliver GPG: 1024D/A54310EA 92C8 39E7 280E 3631 3F0E 1EC0 5664 7A2F A543 10EA ======================================== "But my God shall supply all your need according to his riches in glory by Christ Jesus." Philippians 4:19