Re: Select into

Поиск
Список
Период
Сортировка
От Gurjeet Singh
Тема Re: Select into
Дата
Msg-id 65937bea0803200503j29b6a7cew806f41c15be1877f@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Select into  (Gavin 'Beau' Baumanis <gavinb@eclinic.com.au>)
Список pgsql-sql
On Thu, Mar 20, 2008 at 4:39 PM, Gavin 'Beau' Baumanis <gavinb@eclinic.com.au> wrote:
HI Gurjeet,

You're right.

But what information do you need to know?

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 am happy enough to give you a table schema, if that's required... but I just don't see why it would be needed - but of course am happy to be told something new!

Even a small example of what you wanted would have worked.

Anyway, lets see if I can got your problem.

There are two records in your table emp:

id | name | salary
-------------------------
21 | scott | 2000
31 | greg | 3000

So you want to copy all the data from 'scott' row on to 'greg' row, but keep the id (id obviously being your unique identifier).

UPDATE emp
SET (salary, name)  = ( (select salary from emp where id = 21 ),
                                   (select name from emp where id = 21) )
where id = 31; 

HTH,

Best regards,


Thanks again

Gavin Baumanis



On 20/03/2008, at 9:58 PM, Gurjeet Singh wrote:
On Thu, Mar 20, 2008 at 4:19 PM, A. Kretschmer <andreas.kretschmer@schollglas.com> wrote:
am  Thu, dem 20.03.2008, um 20:57:53 +1100 mailte Gavin 'Beau' Baumanis folgendes:
> Hi Everyone,
>
> I have asked our DBA at work and h is not too sure either... so I
> thought it best to on the list.
>
> Basically, what I am after is a way to copy the contents of one record
> into another.
> Something like select into; but where the destination record already
> exists, as opposed to creating a new record.

insert into <table> select from <table> where ...


He specifically asked for

<snip>

where the destination record already
exists, as opposed to creating a new record.

</snip>


    I think an UPDATE with joins would be helpful. Though, it may become lengthy if the tables have too many columns.

    Can you post your exact requirement?

--
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




--
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

В списке pgsql-sql по дате отправления:

Предыдущее
От: "Greg Sabino Mullane"
Дата:
Сообщение: Re: Select into
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: Select into