SELECT DENTRO DO UPDATE
02/02/2019
0
O select funciona perfeitamente, falta atualizar!
UPDATE tbxerox x
INNER JOIN tbservidores s on s.cpfserv = x.cpf
SET x.qtd_xerox = 0,
maxcot = (tbxerox.restcota + 80)
where x.cpf in (select x.cpf from (SELECT x.cpf FROM tbxerox x
group by x.cpf
order by x.cpf desc)QRYALIAS )
and s.tiposerv = 'Professor’
and (x.restcota) > 0;
Igor
Posts
02/02/2019
Hélio Devmedia
Ficou meio vago o que você precisa e seu select ficou redundante, você obteria o mesmo select se você utilizasse
select x.cpf from (SELECT x.cpf FROM tbxerox x
group by x.cpf
order by x.cpf desc)
por
Select Distinct x.cpv from tbxerox x order by x.cpf desc
porém isso fica muito redundante porque o update está varrendo todos os registros de tbxerox no update já que no where vc está procurando cpf dentro da própria tabela de cpf de tbxerox.
É importante organizar isto...
No que precisa estou aqui pra te ajudar...
02/02/2019
Igor
Ficou meio vago o que você precisa e seu select ficou redundante, você obteria o mesmo select se você utilizasse
select x.cpf from (SELECT x.cpf FROM tbxerox x
group by x.cpf
order by x.cpf desc)
por
Select Distinct x.cpv from tbxerox x order by x.cpf desc
porém isso fica muito redundante porque o update está varrendo todos os registros de tbxerox no update já que no where vc está procurando cpf dentro da própria tabela de cpf de tbxerox.
É importante organizar isto...
No que precisa estou aqui pra te ajudar...
Boa noite!
Você teria alguma ideia para UPDATE atualizar apenas esses registros selecionados no SELECT?
Está certo o SELECT ser uma clausula nesse caso?
03/02/2019
Igor
Deu certo com esse código:
UPDATE tbxerox x
INNER JOIN tbservidores s on s.cpfserv = x.cpf
INNER JOIN
(
select max(xerox) as xerox
from tbxerox
group by cpf
) u on u.xerox = x.xerox
SET
x.qtd_xerox = 0,
s.maxcot = x.restcota + 80
where x.restcota > 0
and s.tiposerv = 'Professor';
Clique aqui para fazer login e interagir na Comunidade :)