Executar Update baseado em Select com Soma

MySQL

PHP

24/01/2018

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

Curtidas 0

Respostas

Fabiano Carvalho

Fabiano Carvalho

24/01/2018

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
GOSTEI 0
Fernando

Fernando

24/01/2018

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
GOSTEI 0
Fernando

Fernando

24/01/2018

Alguém para ajudar?
GOSTEI 0
POSTAR