Executar Update baseado em Select com Soma
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
Porém quando preciso fazer o update da erro de sintaxe
Espero ter sido claro na explicação.
Desde já, Obrigado
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
Curtidas 0
Respostas
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
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
JOIN (SELECT cadastro_id, SUM(tab_custo_equipament' na linha 2
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
24/01/2018
Alguém para ajudar?
GOSTEI 0