Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosfj1

[Resolvido] Fazer UPDATE apos um SELECT dentro do PhpAdmin

Recommended Posts

Galera seguinte fiz dentro do PhpAdmin a seguinte condiçao

 

SELECT CB.nome, CB.email, C.tipo, C.st_ativo, C.dt_hr, CB.st_ativo
FROM clientes_bloqueados CB
INNER JOIN cliente C ON C.id_cliente = CB.id_cliente
WHERE C.tipo =1
AND CB.st_ativo =0
AND C.st_ativo = 0

 

Resultado disso mais de 2 mil resgistros encontrados

 

Ai queria fazer o seguinte, um UPDATE dessa seleção, onde eu iria setar o CB.st_ativo e C.st_ativo como 1, já que esta 0.

 

Alguem saberia me explicar como poderia fazer isso dentro do proprio banco

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum..

 

faz um backup ai.

 

UPDATE clientes_bloqueados 
SET clientes_bloqueados.st_ativo = 1
WHERE ( SELECT tipo FROM cliente WHERE clientes_bloqueado.id_cliente = cliente.id_cliente ) = 1
AND clientes_bloqueados.st_ativo = 0

 

e depois:

UPDATE cliente 
SET st_ativo = 1 
WHERE tipo = 1
AND st_ativo = 0

qual banco de dados ? (mysql, sqlserver..)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não testei, mas acredito que você pode fazer o seguinte:

 

UPDATE clientes_bloqueados CB, cliente C SET CB.st_ativo = '1', C.st_ativo = '1' 
WHERE C.id_cliente = CB.id_cliente AND C.tipo =1 AND CB.st_ativo = 0 AND C.st_ativo = 0

 

Lembre-se de testar em um ambiente de teste, pra não dar problema no sistema :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum..

 

faz um backup ai.

 

UPDATE clientes_bloqueados 
SET clientes_bloqueados.st_ativo = 1
WHERE ( SELECT tipo FROM cliente WHERE clientes_bloqueado.id_cliente = cliente.id_cliente ) = 1
AND clientes_bloqueados.st_ativo = 0

 

e depois:

UPDATE cliente 
SET st_ativo = 1 
WHERE tipo = 1
AND st_ativo = 0

qual banco de dados ? (mysql, sqlserver..)

 

 

Já to fazendo um backup antes hehe

 

O banco de dados é mysql....depois q acabar o backup eu vou tentar o q me passou

 

valeu

 

Não testei, mas acredito que você pode fazer o seguinte:

 

UPDATE clientes_bloqueados CB, cliente C SET CB.st_ativo = '1', C.st_ativo = '1' 
WHERE C.id_cliente = CB.id_cliente AND C.tipo =1 AND CB.st_ativo = 0 AND C.st_ativo = 0

 

Lembre-se de testar em um ambiente de teste, pra não dar problema no sistema :)

 

 

Cara testei seu codigo, pq achei ele mais simples de entender, eu acredito que tenha dado certo...no SELECT QUE EU FIZ deu o resultado de 1958 registros encotrados (no ambiente de teste a menos registros q o real, por isso deu menos q 2 mil) ai depois fiz o UPDATE que me passou e refiz SELECT e nao achou resultado, entao acho que deu tudo certo

 

Obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.