Executar Update baseado em Select com Soma

24/01/2018

0

Boa Tarde,

Utilizo Mysql 5.6 e me deparei com o seguinte problema;

Preciso atualizar uma coluna baseado na soma de outra coluna da mesma tabela onde o existem identificadores iguais.

Minha estrutura;

cadastro_id - nesta coluna o numero de cadastro se repete
TOTAL1 - nesta coluna consta o valor do produto
custo_equipamento_total - nesta coluna deve ser inserido a soma dos valores dos produtos baseado no numero de castro_id existente

Quando faço um select usando GROUP By, funciona normalmente
SELECT cadastro_id, SUM(tab_custo_equipamento.TOTAL1)
FROM tab_custo_equipamento
GROUP BY cadastro_id


Porém quando preciso fazer o update da erro de sintaxe

Espero ter sido claro na explicação.

Desde já, Obrigado
Fernando

Fernando

Responder

Posts

24/01/2018

Fabiano Carvalho

Tente assim.
UPDATE A SET A.TOTAL1 = B.2
FROM tab_custo_equipamento A
JOIN (SELECT cadastro_id, SUM(tab_custo_equipamento.TOTAL1) T2
FROM tab_custo_equipamento
GROUP BY cadastro_id) B
ON A.cadastro_id = B.cadastro_id
Responder

24/01/2018

Fernando

Infelizmente não funcionou.
Alterei o SET TOTAL1 para a tabela que eu quero que apareça o resultado, no caso custo_equipamento_total

#1064 - Você tem um erro de sintaxe no seu SQL próximo a 'FROM tab_custo_equipamento A
JOIN (SELECT cadastro_id, SUM(tab_custo_equipament' na linha 2
Responder

29/01/2018

Fernando

Alguém para ajudar?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar