Será que funciona isso?
update tabela_pai set soma_valor_total = (
select sum(valor_total)
from tabela_filha tf
where tf.protocolo = tabela_pai.protocolo
);
Caso contrário, dá pra tentar usando a cláusula UPDATE ... FROM:
update tabela_pai set soma_valor_total = a.soma
from (
select protocolo, sum(valor_total) as soma
from tabela_filha
group by protocolo
) a
where a.protocolo = tabela_pai.protocolo;
E se ainda não der certo, dá pra recorrer a uma função em PL/pgSQL... :)
--
Rodrigo Hjort
http://icewall.org/~hjort
2006/12/11, Marcos Fabrício Corso <[EMAIL PROTECTED]>:
No postgres tenho uma tabela_pai e numa outra tabela_filha, tenho varios
registros, relacionados com a tabela_pai, do tipo :
tabela_pai tabela_filha
protocolo protocolo parcela valor_total
121212 121212 01 150,00
121212
02 250,00
121212 03
500,00
121212 04
125,00
Na tabela_pai a primary_key eh "protocolo", na tabela_filha, eh
"protocolo" e "parcela" e tenho uma foregin_key da tabela_filha "protocolo"
com a tabela_pai "protocolo"
preciso fazer o seguinte :
* ler todos os registros da tabela_pai com protocolo igual a "121212"
* ler todos os registros da tabela_filha com protocolo igual a "121212"
* somar os valores do campo "valor_total" da tabela_filha numa variavel
numerica com 2 casas decimais e mover o esse valor para um campo na
tabela_pai
alguem pode me ajudar ???
uso o postgres 8.2 com pgadmin III
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios