Re: update column with multiple values
От | David Johnston |
---|---|
Тема | Re: update column with multiple values |
Дата | |
Msg-id | 033b01cce80e$30313860$9093a920$@yahoo.com обсуждение исходный текст |
Ответ на | update column with multiple values (ssylla <stefansylla@gmx.de>) |
Список | pgsql-sql |
-----Original Message----- From: pgsql-sql-owner@postgresql.org [mailto:pgsql-sql-owner@postgresql.org] On Behalf Of ssylla Sent: Wednesday, February 08, 2012 9:31 PM To: pgsql-sql@postgresql.org Subject: [SQL] update column with multiple values Dear list, sorry, I already posted this, but it did not seem to have been accepted by the mailing list. So here's my second try: I need to update all rows of a column ('parent') based on a subquery that returns me the first four digits of another column ('id'): UPDATE admin SET parent=(SELECT SUBSTR(id,1,4) FROM admin); After executing, I get the following error-message: "more than one row returned by a subquery used as an expressionmore than one row returned by a subquery used as an expression" I am not quite sure about that, but maybe I need to construct a function/loop to fulfill this task? thanks for help. Stefan --------------------------------------------------------------- No sub-select required, just use the function: UPDATE admin SET parent = substr(id,1,4); This will, for each record, set the value of parent to the first four characters of its ID. When you use the sub-select there is not inherent linkage between the "UPDATE" table and the "FROM" table. You can make a correlated sub-query but in this case the is necessary. David J.
В списке pgsql-sql по дате отправления: