SUM(); dentro do UPTADE com o critério de somar apenas os dados da coluna que tiverem com um determinado CPF, onde esse CPF digito na txtField para pesquisar . É possivel?
Quero somar apenas as linhas da coluna qtd_xerox que contem o cpfserv pesquisado, jogando o resultado na coluna total_xerox.
private void uptade_4() { String sql = "update tbservidores s set s.total_xerox = (select sum(x.qtd_xerox) from tbxerox x where x.cpf = s.cpfserv group by x.cpf having sum(x.qtd_xerox) > 0)"; try { pst = conexao.prepareStatement(sql); int executa; executa = pst.executeUpdate(); } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } }
Igor
Curtidas 0
Melhor post
Ricardo Pestana
16/01/2019
bom dia,
adiciona "where s.cpfserv = ?" no final do seu update conforme abaixo e depois do "pst = conexao.prepareStatement(sql);" vc atribui o valor da sua variável ou campo para o parâmetro, daí pra frente é deixa como está...
String sql = "update tbservidores s set s.total_xerox = (select sum(x.qtd_xerox) from tbxerox x where x.cpf = s.cpfserv group by x.cpf having sum(x.qtd_xerox) > 0) where s.cpfserv = ?";
pst.setString(1, variável com_cpf);
adiciona "where s.cpfserv = ?" no final do seu update conforme abaixo e depois do "pst = conexao.prepareStatement(sql);" vc atribui o valor da sua variável ou campo para o parâmetro, daí pra frente é deixa como está...
String sql = "update tbservidores s set s.total_xerox = (select sum(x.qtd_xerox) from tbxerox x where x.cpf = s.cpfserv group by x.cpf having sum(x.qtd_xerox) > 0) where s.cpfserv = ?";
pst.setString(1, variável com_cpf);
GOSTEI 1
Mais Respostas
Igor
16/01/2019
bom dia,
adiciona "where s.cpfserv = ?" no final do seu update conforme abaixo e depois do "pst = conexao.prepareStatement(sql);" vc atribui o valor da sua variável ou campo para o parâmetro, daí pra frente é deixa como está...
String sql = "update tbservidores s set s.total_xerox = (select sum(x.qtd_xerox) from tbxerox x where x.cpf = s.cpfserv group by x.cpf having sum(x.qtd_xerox) > 0) where s.cpfserv = ?";
pst.setString(1, variável com_cpf);
adiciona "where s.cpfserv = ?" no final do seu update conforme abaixo e depois do "pst = conexao.prepareStatement(sql);" vc atribui o valor da sua variável ou campo para o parâmetro, daí pra frente é deixa como está...
String sql = "update tbservidores s set s.total_xerox = (select sum(x.qtd_xerox) from tbxerox x where x.cpf = s.cpfserv group by x.cpf having sum(x.qtd_xerox) > 0) where s.cpfserv = ?";
pst.setString(1, variável com_cpf);
De novo deu certo Ricardo! Muito obrigado fera!
GOSTEI 0