Ir para conteúdo

POWERED BY:

Arquivado

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

Flavio Scaramuzzi

Mysql - Ler um campo e gravar condição em outro campo da mesma tabela

Recommended Posts

Boa noite a todos, sou novo aqui e tenho pouca experiencia com o mysql. O meu problema é o seguinte

Tenho um sistema antigo (Clipper) que usa Banco de Dados DBF, fiz a importação para sql e deu tudo certo, não perdi nenhum regitros dos mais de 40.000. Agora preciso da seguinte solução: tenho um campo na minha tabela tb_cad de nome tb_tipo (Varchar 5) que contem códigos. Exemplo: 00001, 00002, 000........... assim por diante. No sistema antigo 00001 equivale a: Bairro=Jardim Veraneio e Região=Centro.

O que preciso fazer no mysql é: Se o tb_tipo for igual a 00001 então grava no campo tb_bairro Jardim Veraneio e no campo tb-regiao grava Centro. Se o tb_tipo for igual a 00002 então grava no campo tb_bairro São João e no campo tb-regiao grava Sul.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Flávio.

 

Se os dados já estão na tabela, você irá só atualizar, com um update.

 

Ex:

update tb_cad

set tb_bairro = case tb_tipo when '00001' then 'Jardim Veraneio'
     when '00002' then 'São João' end
     ,tb_regiao = case tb_tipo when '00001' then 'Centro'
     when '00002' then 'Sul' end 

Aqui tive que mudar o nome do campo tb-regiao, talvez tenha esse problema também.

 

Espero ter sido útil, abraços.

 

_ _

Fabiano Abreu

Papo SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Fabiano, ajudou e muito. Testei seu exemplo, porem quando mudo de bairro e região, o anterior apaga, ai aproveitei seu exemplo e fiz sem o CASE e deu certo, e como tenho vários bairros e cinco regiões, utilizei variáveis como no exemplo abaixo.

 

SET @b="NOVA CAMPO GRANDE" ; // (Bairro)

SET @r="OESTE" ; // (Regiao)

SET @e=00020 ; // (Tipo)

UPDATE tb_cad set tb_bairro=@b, tb_regiao=@r where tb_tipo=@e ;

SELECT tb_tipo, tb_bairro, tb_regiao, nome FROM tb_cad where tb_tipo=@e

 

 

Mais uma vez agradeço sua ajuda valiosa. Abraços
Flávio

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.