none
Trazer o valor de uma coluna de acordo com a condicao de uma outra RRS feed

  • Pergunta

  • Olá a todos, 

     

    Estou desenvolvendo um script simples, porém me deparei com uma situação que sei que pode ser resolvida através do If, mas acredito que possa existir uma maneira mais simples (e talvez mais correta) de se fazer, é o seguinte:

     

    Com um select simples preciso trazer as colunas Nome, RG,ORGAOEXP, DATAEXP, CPF, DATANASC e o telefone CELULAR do cliente, ai que está o problema, pois a estrutura da tabela encontra-se assim:

    FORMACONTATO1	FORMACONTATO2	FORMACONTATO3	CONTATO1	CONTATO2	CONTATO3
    -----------     -------------   --------------  ----------  ----------- ------------
    Residencial	 Celular	 Comercial	1122443355	11945678910  1122433456

     

    Então, eu devo trazer o CONTATO 2 que é o contato correspondente a FORMA DE CONTATO de celular, no sistema estes campos são editaveis, então isso varia de cadastro para cadastro, tem registro que o contato 1 é o celular, em outros o 3 e assim por diante.

     

    Existe alguma forma de trazer somente o contato correspondente a forma de contato CELULAR sem ser pelo If?

     

    Agradeço a atenção e colaboração de todos.


    • Editado otaviinn terça-feira, 17 de abril de 2018 19:03 erro ortografico
    terça-feira, 17 de abril de 2018 18:57

Respostas

  • Boa tarde,

    Acredito que dentro da query seja o caso de utilizar o Case. Ex:

    select
        NOME,
        RG,
        CASE
            WHEN FORMACONTATO1 = 'Celular' THEN CONTATO1
            WHEN FORMACONTATO2 = 'Celular' THEN CONTATO2
            WHEN FORMACONTATO3 = 'Celular' THEN CONTATO3
        END AS CELULAR
    from TABELA

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta otaviinn terça-feira, 17 de abril de 2018 19:29
    terça-feira, 17 de abril de 2018 19:10

Todas as Respostas