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

Igor

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);

Ricardo Pestana

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);


De novo deu certo Ricardo! Muito obrigado fera!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar