From: Gurjeet Singh <singh.gurjeet@gmail.com>
To: Joe <dev@freedomcircle.net>
Cc: Gavin 'Beau' Baumanis <gavinb@eclinic.com.au>
Cc: pgsql-sql@postgresql.org
Subject: Re: Select into
Date: Thu, 20 Mar 2008 18:43:47 +0530
Message-ID: <65937bea0803200613k4593da12hd62233f8a745309@mail.gmail.com> (raw)
In-Reply-To: <47E25447.6040109@freedomcircle.net>
References: <94F93C0F-DA95-4435-B253-57C90961DF34@eclinic.com.au>
<20080320104922.GB18935@a-kretschmer.de>
<65937bea0803200358i290bdc87hdeca777b593b5df1@mail.gmail.com>
<786D2B38-CE0A-41BF-9E70-4DEB22F8D9EF@eclinic.com.au>
<47E25447.6040109@freedomcircle.net>
On Thu, Mar 20, 2008 at 5:40 PM, Joe <dev@freedomcircle.net> wrote:
> Gavin 'Beau' Baumanis wrote:
> >
> > The copy is inside the same table, so I don't understand why it (the
> > required query ) would require any joins.
> >
> > Ie. I want to copy the contents of a row (but for the id column - of
> > course) into a record in the same table.
>
> I think what you want is something like this:
>
> Given (col1 being the id or PK):
>
> col1 | col2 | col3
> ------+------+---------------
> 1 | 123 | first record
> 2 | 456 | second record
> 3 | 789 | third record
>
> then
>
> update t1 set col2 = t1copy.col2, col3 = t1copy.col3
> from t1 as t1copy
> where t1.col1 = 1 and t1copy.col1 = 3;
>
> will result in:
>
> col1 | col2 | col3
> ------+------+---------------
> 1 | 789 | third record
> 2 | 456 | second record
> 3 | 789 | third record
>
> So, it is a join ... of a table with a virtual copy of itself.
>
Except that it doesn't work... Did you try to execute that query; I am
assuming not.
Best regards,
--
gurjeet[.singh]@EnterpriseDB.com
singh.gurjeet@{ gmail | hotmail | indiatimes | yahoo }.com
EnterpriseDB http://www.enterprisedb.com
17° 29' 34.37"N, 78° 30' 59.76"E - Hyderabad *
18° 32' 57.25"N, 73° 56' 25.42"E - Pune
37° 47' 19.72"N, 122° 24' 1.69" W - San Francisco
http://gurjeet.frihost.net
Mail sent from my BlackLaptop device
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: singh.gurjeet@gmail.com, dev@freedomcircle.net, gavinb@eclinic.com.au
Subject: Re: Select into
In-Reply-To: <65937bea0803200613k4593da12hd62233f8a745309@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox