Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, alguém poderia me dar um help pra solucionar este comando?
UPDATE tabela SET total_soma =
select sum(coluna) as soma from tabela where id_valor1 = 2 and id_valor2 = 2;
recebo esta mensagem de erro
consulta SQL: Documentação
UPDATE tabela SET total_soma = SELECT sum( coluna) AS soma
FROM tabela
WHERE id_valor1 =2
AND id_valor2 =2
Mensagens do MySQL : Documentação
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select sum(coluna) as soma from tabela where id_valor1 = 2 and id_valor2 = 2' at line 2
minha tabela está assim
CREATE TABLE IF NOT EXISTS `tabela` (
`id_tabela` int(11) NOT NULL auto_increment,
`id_valor1` int(11) NOT NULL,
`id_valor2` int(11) NOT NULL,
`coluna` int(11) default NULL,
`total_soma` int(11) default NULL,
PRIMARY KEY (`id_tabela`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;imagine a seguinte situação
id_tabela | id_valor1 | id_valor2 | coluna | total_soma
1 | 2 | 2 | 10 | NULL
2 | 2 | 2 | 20 | NULL
UPDATE tabela SET total_soma = SELECT sum( coluna) AS soma
FROM tabela
WHERE id_valor1 =2
AND id_valor2 =2
quero largar a soma da coluna (coluna) na coluna total_soma
então deveria ficar assim após o comando caso tivesse sucesso:
id_tabela | id_valor1 | id_valor2 | coluna | total_soma
1 | 2 | 2 | 10 | 30
2 | 2 | 2 | 20 | 30
a condição de id_valor1 e id_valor2 serem 2 é só pra testes, ali vou passar parametros vindos de um formulario.
valeu
UPDATE tabela SET total_soma =
(select sum(coluna) as soma from tabela where id_valor1 = 2 and id_valor2 = 2)
where id_valor1 = 2 and id_valor2 = 2;
mas pq você nao usa consultas com group by?
não acho legal gravar dados dessa forma
fica redundante
se for pra gravar o total, é melhor salvar em outra tabela específica.
antes de poder te ajudar eu preciso saber o q você quer fazer, senao posso te passar um comando q vai ferrar sua taba