Update from select

Started by Bret Sternalmost 13 years ago5 messagesgeneral
Jump to latest
#1Bret Stern
bret_stern@machinemanagement.com

PG 8.4

Having trouble putting together an update query to update
multiple columns in tbl1 from columns in tbl2.

update tbl1
set col3,col4,col5
from
(select col3, col4,col5 from tbl2 where col1="criteria")

Can someone add to the Postgres Docs (shown below) to help me with this.

UPDATE employees SET sales_count = sales_count + 1 WHERE id =
(SELECT sales_person FROM accounts WHERE name = 'Acme Corporation');

Many thanks

Bret Stern

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Justin Tocci
justin@workflowproducts.com
In reply to: Bret Stern (#1)
Re: Update from select

em stands for "easy money"

update tbl1
set col3=em.col3,col4=em.col4,col5=em.col5
from
(select col3, col4,col5 from tbl2 where col1="criteria") em

Regards,

Justin Tocci
Programmer
www.workflowproducts.com
7813 Harwood Road
North Richland Hills, TX 76180
phone 817-503-9545
skype justintocci

On May 13, 2013, at 3:23 PM, Bret Stern <bret_stern@machinemanagement.com> wrote:

PG 8.4

Having trouble putting together an update query to update
multiple columns in tbl1 from columns in tbl2.

update tbl1
set col3,col4,col5
from
(select col3, col4,col5 from tbl2 where col1="criteria")

Can someone add to the Postgres Docs (shown below) to help me with this.

UPDATE employees SET sales_count = sales_count + 1 WHERE id =
(SELECT sales_person FROM accounts WHERE name = 'Acme Corporation');

Many thanks

Bret Stern

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3Igor Neyman
ineyman@perceptron.com
In reply to: Bret Stern (#1)
Re: Update from select

PG 8.4

Having trouble putting together an update query to update multiple
columns in tbl1 from columns in tbl2.

update tbl1
set col3,col4,col5
from
(select col3, col4,col5 from tbl2 where col1="criteria")

Can someone add to the Postgres Docs (shown below) to help me with
this.

UPDATE employees SET sales_count = sales_count + 1 WHERE id =
(SELECT sales_person FROM accounts WHERE name = 'Acme Corporation');

Many thanks

Bret Stern

Your question isn't very clear.
Are you updating all records in tbl1?
Or col1 in tbl1 should also match col1 in tbl2?

If that's the case:

UPDATE tbl1 t1
SET col3 = t2.col3, col4 = t2.col4, col5 = t2.col5
FROM tbl2 t2
WHERE t1.col1 = t2.col1
AND t.col1 = "criteria";

Igor Neyman

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#4Vincent Veyron
vv.lists@wanadoo.fr
In reply to: Bret Stern (#1)
Re: Update from select

Le lundi 13 mai 2013 ᅵ 13:23 -0700, Bret Stern a ᅵcrit :

PG 8.4

Having trouble putting together an update query to update
multiple columns in tbl1 from columns in tbl2.

update tbl1
set col3,col4,col5
from
(select col3, col4,col5 from tbl2 where col1="criteria")

UPDATE tbl1
SET col3=t2.col3, col4=t2.col4, col5=t2.col5
FROM tbl2 t2 WHERE t2.col1="criteria"

--
Salutations, Vincent Veyron
http://gdlc.fr/logiciels
Applications de gestion des sinistres assurance et des contentieux juridiques

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#5Bret Stern
bret_stern@machinemanagement.com
In reply to: Justin Tocci (#2)
Re: Update from select

Easy money indeed. Thanks for the help
On Mon, 2013-05-13 at 15:28 -0500, Justin Tocci wrote:

em stands for "easy money"

update tbl1
set col3=em.col3,col4=em.col4,col5=em.col5
from
(select col3, col4,col5 from tbl2 where col1="criteria") em

Regards,

Justin Tocci
Programmer
www.workflowproducts.com
7813 Harwood Road
North Richland Hills, TX 76180
phone 817-503-9545
skype justintocci

On May 13, 2013, at 3:23 PM, Bret Stern <bret_stern@machinemanagement.com> wrote:

PG 8.4

Having trouble putting together an update query to update
multiple columns in tbl1 from columns in tbl2.

update tbl1
set col3,col4,col5
from
(select col3, col4,col5 from tbl2 where col1="criteria")

Can someone add to the Postgres Docs (shown below) to help me with this.

UPDATE employees SET sales_count = sales_count + 1 WHERE id =
(SELECT sales_person FROM accounts WHERE name = 'Acme Corporation');

Many thanks

Bret Stern

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general