Thread: Inserting data in a table using sub-selects
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I'd like to fill one table with the contents of another table. Mye schema is like this: CREATE TABLE table1( id serial NOT NULL PRIMARY KEY, title varchar NOT NULL, description varchar ); CREATE TABLE table2( id int NOT NULL REFERENCES(table1(id) ON DELETE CASCADE, content varchar NOT NULL ); Now - is there a way I can do something like: INSERT INTO table2(id, content) values (select t1.id, coalesce(t1.title, '') || ' ' || coalesce(t1.description, '') as content from table1 t1); Any hints on how to insert a lot of values at the same time like this? - -- Andreas Joseph Krogh <andreak@officenet.no> Managing Director, Senior Software Developer OfficeNet AS I always do a CVS update before making a patch (unless I forget). gpg public_key: http://dev.officenet.no/~andreak/public_key.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAT3H1UopImDh2gfQRAsa6AJ9jZjNz25w4iVnxNJYY9LJuG0HBLACfZfup 1TMzQSi1+YYgNjpcampX6wo= =fJA3 -----END PGP SIGNATURE-----
On Wed, 10 Mar 2004, Andreas Joseph Krogh wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, I'd like to fill one table with the contents of another table. Mye schema > is like this: > > CREATE TABLE table1( > id serial NOT NULL PRIMARY KEY, > title varchar NOT NULL, > description varchar > ); > > CREATE TABLE table2( > id int NOT NULL REFERENCES(table1(id) ON DELETE CASCADE, > content varchar NOT NULL > ); > > Now - is there a way I can do something like: > INSERT INTO table2(id, content) values (select t1.id, coalesce(t1.title, '') > || ' ' || coalesce(t1.description, '') as content from table1 t1); I think you mostly just want to remove the values(): Insert into table2(id, content) select t1.id, coalesce(t1.title, '')|| ' ' || coalesce(t1.description, '') as content fromtable t1;