marcosfj1 0 Denunciar post Postado Janeiro 19, 2011 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
William Bruno 1501 Denunciar post Postado Janeiro 19, 2011 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
Vinicius Cruz 1 Denunciar post Postado Janeiro 19, 2011 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
marcosfj1 0 Denunciar post Postado Janeiro 19, 2011 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