Update com Inner join no Postgres

Delphi

29/10/2014

Bom dia

Estou realizando um update no banco de dados, só que ao invés do comando ser aplicado apenas no registros encontrados ele aplica em toda tabela.
Segue comando SQL, alguém pode me indicar o erro ou me sugeri outra alternativa,

update contas_contabil
set
credito = b.credito
from contas_contabil a

inner join contas_bancos b on
a.valor = b.valor and
a.empresa = b.empresa and
(a.data = b.data or
a.data + INTERVAL '1 DAYS' = b.data or
a.data + INTERVAL '2 DAYS' = b.data or
a.data - INTERVAL '1 DAYS' = b.data or
a.data - INTERVAL '1 DAYS' = b.data)
Host Solucões

Host Solucões

Curtidas 0

Respostas

Jair N.

Jair N.

29/10/2014

Boa Tarde, teste agora assim.:

UPDATE contas_contabil a
SET credito = b.credito
FROM contas_bancos b
WHERE (a.valor = b.valor)
AND (a.empresa = b.empresa)
AND ((a.data = b.data)
OR (a.data + INTERVAL '1 DAYS' = b.data)
OR (a.data + INTERVAL '2 DAYS' = b.data)
OR (a.data - INTERVAL '1 DAYS' = b.data)
OR (a.data - INTERVAL '1 DAYS' = b.data))
GOSTEI 0
Host Solucões

Host Solucões

29/10/2014

Deu certo d+, muito obrigado
GOSTEI 0
POSTAR