Opa,

Vê se isso ajuda:

update esquema.tabela set campo = tb.valor FROM (select idconta, valor from
esquema.outratabela where minhas condicoes) tb
where tb.conta = esquema.tabela.idconta


Dá uma lida sobre "UPDATE FROM"

http://www.postgresql.org/docs/current/static/sql-update.html

Lembrando que no select interno voce pode fazer calculos que desejar.



2009/11/25 tetraetila® <tetraet...@gmail.com>

>  Olá Pessoal
>
> Eu utilizo a sentença abaixo para somar o valor dos débitos de determinada
> tabela:
>
> select A.a005_debi, sum( A.a005_valo ) as DEBITO from e001.a001005 A where
> A.a005_data between '01.01.2008' and '31.01.2008' group by A.a005_debi
>
> Eu gostaria de fazer um UPDATE utilizando uma sentença, tipo:
>
> update e001.temp_balanc set vr_debi = DEBITO where A.A004_REDU =
> B.A005_DEBI
>
> Ou seja quando o código reduzido da conta (A.A004_REDU) for igual ao código
> da conta débito da outra tabela ( B.A005_DEBI ) o campo VR_DEBI receberá o
> valor de DEBITO.
>
> Outro porém,
>
> Utilizo a sentença para apurar os DÉBITOS  e a mesma para os CRÉDITOS,
> mudando apenas alguns parâmetros. Tenho que jogar a diferença de crédito -
> débito (C-D) em uma coluna SALDO_FINAL, tem como fazer isto subtraindo um do
> outro via SQL? Seria:
>
>  Estes débitos
> select A.a005_cred, sum( A.a005_valo ) as CREDITO from e001.a001005 A where
> A.a005_data between '01.01.2008' and '31.01.2008' group by A.a005_cred
>
> Menos estes créditos
> select A.a005_debi, sum( A.a005_valo ) as DEBITO from e001.a001005 A where
> A.a005_data between '01.01.2008' and '31.01.2008' group by A.a005_debi
>
> Resultado em
> SALDO_FINAL
>
> Poderiam me ajudar?
>
> Obrigado!
>
> Adilson
>
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
----

Att.
José Adriano Alves
Analista de Sistemas - Móveis Gazin.
Cel..:  +55 44 8802 3994
Fone: + 55 44 3663 8000 - 2319
Mail: alves.jadri...@gazin.com.br
MSN: jose.adri...@gazin.com.br



Este e-mail, seu conteúdo e seus anexos estão sujeitos à privilégio de
comunicação podendo este documento incluir informação confidencial e de
propriedade restrita da GAZIN e apenas pode ser lido por aqueles a qual o
mesmo tenha sido endereçado. Se você recebeu essa mensagem de e-mail
indevidamente, por favor avise-nos imediatamente. Quaisquer dados, opiniões
ou informações expressadas neste e-mail pertencem ao seu remetente e não
necessariamente coincidem com aquelas da GAZIN, são de exclusiva
responsabilidade do signatário. Este documento não pode ser reproduzido,
copiado, distribuído, publicado ou modificado por terceiros, sem a prévia
autorização por escrito da GAZIN.


Antes de imprimir pense em seu compromisso com o Meio Ambiente
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a