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?
16/01/2019
0
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
Curtir tópico
+ 0
Responder
Post mais votado
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);
Ricardo Pestana
Responder
Mais Posts
16/01/2019
Igor
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!
Responder
Clique aqui para fazer login e interagir na Comunidade :)