Re: Need help on update.
От | Richard Huxton |
---|---|
Тема | Re: Need help on update. |
Дата | |
Msg-id | 4CBFF55D.1060200@archonet.com обсуждение исходный текст |
Ответ на | Need help on update. (Nicholas I <nicholas.domnic.i@gmail.com>) |
Ответы |
Re: Need help on update.
|
Список | pgsql-sql |
On 21/10/10 08:43, Nicholas I wrote: > Hi, > > there are two tables, table1 and table2, each having same column name > called sn_no,name. i want to update table1 names with table2 where sn_no > are same. > > select * from table1; > sn_no | name > -------+----------- > 1 | ramnad > 2 | bangalore > 3 | chennai > > > select * from table2; > sn_no | name > -------+----------- > 1 | Hyderabad > 2 | Delhi > 3 | Bombay > > Any help ? > > I tried with , some of the queries like, Close. This is surprisingly difficult in standard SQL. PostgreSQL has a (non-standard) FROM clause you can use though. BEGIN; CREATE TABLE table1 (sn int, nm text); CREATE TABLE table2 (sn int, nm text); INSERT INTO table1 VALUES (1,'ramnad'),(2,'bangalore'),(3,'chennai'); INSERT INTO table2 VALUES (1,'Hyderabad'),(2,'Delhi'),(3,'Bombay'); UPDATE table1 SET nm = table2.nm FROM table2 WHERE table1.sn = table2.sn; SELECT * FROM table1; ROLLBACK; Be careful with aliasing the target of the update (table1 in this case). As another poster has discovered, that counts as another table in your join. -- Richard Huxton Archonet Ltd
В списке pgsql-sql по дате отправления: