update com order by
ola pessoal
tenho uma tabela no postgres com os campos
codigo, data, entrada, saida, saldo
e preciso fazer um update conforme a data
update set saldo = ( entrada - saida ) ..........
se eu coloco order by data da erro de comando
como resolver
obrigado
Marcos Corso
Curtidas 0
Respostas
Jair N.
25/03/2011
Bom dia referente ao enunciado, não entendi direito o "porquê da necessidade de ordernar os registro para atualiza-los" teria como passar alguns dados a exemplo, e ser mais conciso e no detalhamento.
A princípio acredito que, suas atualizações não dependem de outras tabelas vinculadas.
A princípio acredito que, suas atualizações não dependem de outras tabelas vinculadas.
GOSTEI 0
Marcos Corso
25/03/2011
o update que quero fazer é o seguinte
update saldo01 set saldo_anterior = saldo
from saldo02
where saldo02.cod_produto = saldo01.cod_produto and saldo01.tipo = 'E'
na tabela saldo01 existem varios registros com o mesmo cod_produto
na tabela02 cod_produto é pk
update saldo01 set saldo_anterior = saldo
from saldo02
where saldo02.cod_produto = saldo01.cod_produto and saldo01.tipo = 'E'
na tabela saldo01 existem varios registros com o mesmo cod_produto
na tabela02 cod_produto é pk
GOSTEI 0
Jair N.
25/03/2011
Bom Dia, pelo que pude entender voce poderia resolver o seu problema com a data de atualização do saldo deste modo (sendo a última movimentação do produto):
UPDATE saldo01
SET saldo_anterior = saldo
FROM saldo02
WHERE (saldo02.cod_produto = saldo01.cod_produto)
AND (saldo01.tipo = 'E')
AND (saldo01.data = (SELECT MAX(data) FROM saldo01 WHERE (saldo01.cod_produto = saldo02.cod_produto)));
UPDATE saldo01
SET saldo_anterior = saldo
FROM saldo02
WHERE (saldo02.cod_produto = saldo01.cod_produto)
AND (saldo01.tipo = 'E')
AND (saldo01.data = (SELECT MAX(data) FROM saldo01 WHERE (saldo01.cod_produto = saldo02.cod_produto)));
GOSTEI 0