Re: [GENERAL] Column names for INSERT with query
Robert James wrote > I would like to: > > INSERT INTO t > SELECT * FROM r, (x + y) AS field3 > > How do I correlate the names of the fields? That is, how do I indicate > which fields from r or field3 should be inserted into the right > columns in t? Already answered but I'll add that as written, assuming there are enough columns present, the syntax shown will work and do a pair-wise matching of columns in the order defined in the catalog for table "t". You can view that order by simply issuing a "SELECT * FROM t". If you know the order of "t" you can simply explode the "SELECT * FROM r, (x+y)" into an explicit column-list that has the same ordering as "t". There are limitations, mainly as relates to default values, but for a table "t" with a large number of columns it can be considerably less verbose/tedious to write. David J. -- View this message in context: http://postgresql.1045698.n5.nabble.com/Column-names-for-INSERT-with-query-tp5768334p5768388.html Sent from the PostgreSQL - general mailing list archive at Nabble.com. -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Column names for INSERT with query
On Thu, Aug 22, 2013 at 6:36 PM, Ian Lawrence Barwick wrote: > INSERT INTO t (t_field1, t_field2, t_field3) > SELECT r.field1, r.field2, (x+y) > FROM r > Obligatory link to documentation: http://www.postgresql.org/docs/9.2/static/sql-insert.html. See where it says [ ( *column_name* [, ...] ) ]? The square brackets mean "optional", and the ",..." means repeat as needed. The fact "column_name" is italics tell you it's some kind of variable text you should replace, and later on in the page explains what goes there. So it's telling you that you can use a comma separated list of column names from the destination table. PostgreSQL has some of the best documentation of any software I've ever seen. Don't hesitate to check it often when working.
Re: [GENERAL] Column names for INSERT with query
2013/8/23 Robert James : > I would like to: > > INSERT INTO t > SELECT * FROM r, (x + y) AS field3 > > How do I correlate the names of the fields? That is, how do I indicate > which fields from r or field3 should be inserted into the right > columns in t? INSERT INTO t (t_field1, t_field2, t_field3) SELECT r.field1, r.field2, (x+y) FROM r -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Column names for INSERT with query
On Thu, Aug 22, 2013 at 3:30 PM, Robert James wrote: > I would like to: > > INSERT INTO t > SELECT * FROM r, (x + y) AS field3 > INSERT INTO t (col1, col2, col3) SELECT ...
[GENERAL] Column names for INSERT with query
I would like to: INSERT INTO t SELECT * FROM r, (x + y) AS field3 How do I correlate the names of the fields? That is, how do I indicate which fields from r or field3 should be inserted into the right columns in t? -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general