Update está errado e gostaria de corrigir
17/08/2011
0
Como fazer esse update funcionar? O Join está errado e como faria o correto?
UPDATE
CONHECIMENTO_TESTE_UPDATE
SET
DATA_EMISSAO_CONHECIMENTO = (
SELECT CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO
FROM CONHECIMENTO_CARGA_ATUALIZADA
WHERE
CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO = CONHECIMENTO.DATA_EMISSAO_CONHECIMENTO AND
CONHECIMENTO_CARGA_ATUALIZADA.NUMERO_CONHECIMENTO = CONHECIMENTO.NUMERO_CONHECIMENTO AND
CONHECIMENTO_CARGA_ATUALIZADA.FILIAL_ORIGEM = CONHECIMENTO.FILIAL_ORIGEM)
WHERE
CONHECIMENTO_TESTE_UPDATE.DATA_EMISSAO_CONHECIMENTO = CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO AND
CONHECIMENTO_TESTE_UPDATE.NUMERO_CONHECIMENTO = CONHECIMENTO_CARGA_ATUALIZADA.NUMERO_CONHECIMENTO AND
CONHECIMENTO_TESTE_UPDATE.FILIAL_ORIGEM = CONHECIMENTO_CARGA_ATUALIZADA.FILIAL_ORIGEM
Pjava
Curtir tópico
+ 0
Responder
Posts
18/08/2011
Emerson Nascimento
primeiramente, a comparação abaixo não faz sentido.
AND CONHECIMENTO_TESTE_UPDATE.DATA_EMISSAO_CONHECIMENTO = CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO
se as datas já são iguais, para quê o UPDATE ?
creio que a instrução abaixo atenda sua necessidade:
UPDATE CTU SET
CTU.DATA_EMISSAO_CONHECIMENTO = CCA.DATA_EMISSAO_CONHECIMENTO
FROM
CONHECIMENTO_TESTE_UPDATE CTU
INNER JOIN CONHECIMENTO_CARGA_ATUALIZADA CCA ON
CCA.NUMERO_CONHECIMENTO = CTU.NUMERO_CONHECIMENTO
AND CCA.FILIAL_ORIGEM = CTU.FILIAL_ORIGEM
AND CONHECIMENTO_TESTE_UPDATE.DATA_EMISSAO_CONHECIMENTO = CONHECIMENTO_CARGA_ATUALIZADA.DATA_EMISSAO_CONHECIMENTO
se as datas já são iguais, para quê o UPDATE ?
creio que a instrução abaixo atenda sua necessidade:
UPDATE CTU SET
CTU.DATA_EMISSAO_CONHECIMENTO = CCA.DATA_EMISSAO_CONHECIMENTO
FROM
CONHECIMENTO_TESTE_UPDATE CTU
INNER JOIN CONHECIMENTO_CARGA_ATUALIZADA CCA ON
CCA.NUMERO_CONHECIMENTO = CTU.NUMERO_CONHECIMENTO
AND CCA.FILIAL_ORIGEM = CTU.FILIAL_ORIGEM
Responder
Clique aqui para fazer login e interagir na Comunidade :)