AmarildoCesar Postado Janeiro 27, 2015 Denunciar Share Postado Janeiro 27, 2015 Estou precisando dar um UPDATE comparando TABELA 'A' com TABELA 'B' (estruturas iguais), onde for NULL em TABELA B preciso alterar dados em TABELA A estou utilizando a seguinte sequencia que não está funcionando UPDATE TABELA A, TABELA B SET TABELA A.campo2 = (TABELA A.campo1 + TABELA A.campo2), TABELA A.campo1 = 0 WHERE (TABELA A.campo1=TABELA B.campo1 AND TABELA A.campo2= TABELA B.campo2) AND TABELA B.campo1 is null; Esse comando não funcionou. Alguém me ajuda? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Janeiro 29, 2015 Denunciar Share Postado Janeiro 29, 2015 Faça assim:UPDATE TABELA_A a LEFT JOIN TABELA_B ON b b.campo1 = a.campo1 AND b.campo2 = a.campo2) SET a.campo2 = (a.campo1 + a.campo2), a.campo1 = 0 WHERE b.campo1 is null;É mais fácil para o motor do mysql entender deste jeito, pois a igualdade para comparação do relacionamento fica na cláusula ON do LEFT JOIN, separada da comparação da cláusula WHERE.A forma que você colocou ele entende como INNER JOIN e não como LEFT JOIN, que é o certo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
AmarildoCesar
Estou precisando dar um UPDATE comparando TABELA 'A' com TABELA 'B' (estruturas iguais), onde for NULL em TABELA B preciso alterar dados em TABELA A estou utilizando a seguinte sequencia que não está funcionando
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.