Fórum Update com Inner join no Postgres #499557
29/10/2014
0
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)
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
Curtir tópico
+ 0
Responder
Posts
29/10/2014
Jair N.
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))
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))
Responder
Gostei + 0
29/10/2014
Host Solucões
Deu certo d+, muito obrigado
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)