Re: Create loop in postgresql
От | Rainer Pruy |
---|---|
Тема | Re: Create loop in postgresql |
Дата | |
Msg-id | 5044D6E9.2000105@acrys.com обсуждение исходный текст |
Ответ на | Re: Create loop in postgresql (Robert Buckley <robertdbuckley@yahoo.com>) |
Список | pgsql-general |
Try it with parentheses around the (SELECT....).
On 03.09.2012 18:06, Robert Buckley wrote:
this give an error.select name,ges_kw_zgb, SELECT round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2);ERROR: syntax error at or near "SELECT"LINE 2: select name,ges_kw_zgb, SELECT round(100 * (ges_kw_zgb / (se...
Von: salah jubeh <s_jubeh@yahoo.com>
An: Robert Buckley <robertdbuckley@yahoo.com>; "pgsql-general@postgresql.org" <pgsql-general@postgresql.org>
Gesendet: 17:45 Montag, 3.September 2012
Betreff: Re: [GENERAL] Create loop in postgresqlI am wondering why do not you write it like thisselect name,ges_kw_zgb, select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2) ......Regards
From: Robert Buckley <robertdbuckley@yahoo.com>
To: "pgsql-general@postgresql.org" <pgsql-general@postgresql.org>
Sent: Monday, September 3, 2012 5:30 PM
Subject: [GENERAL] Create loop in postgresqlHi,I am trying to loop through the records in a table and update a column. I can do this with a case statement but I would like to simplify this to a simple loop statement. I can´t seem to work out how to do it though.Here is the case statement.select name,ges_kw_zgb,caseWhen name='Bad Harzburg' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))When name='Braunlage' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))When name='Braunschweig' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))When name='Büddenstedt' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))End as zfrom energie.tennet_auswertung_2010;Instead of having to write the name variable in the function, I would just like to iterate through each record and execute the select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2) command.If anyone can help I´d me grateful,cheers,Rob
В списке pgsql-general по дате отправления: