none
CASE ELSE RRS feed

  • Pergunta

  • Alguém pode me ajudar

     

     

    Code Snippet

     

    SELECT *,

    CASE WHEN CIMP_FABRICANTE IS NULL AND CIMP_MODELO IS NULL THEN

    CIMP_DESCRICAO

    ELSE

    CASE WHEN CIMP_FABRICANTE IS NULL AND NOT CIMP_MODELO IS NULL THEN

    CIMP_DESCRICAO + ' -1 ' + CIMP_MODELO

    ELSE

    CASE WHEN NOT CIMP_FABRICANTE IS NULL AND CIMP_MODELO IS NULL THEN

    CIMP_DESCRICAO + ' -2 ' + CIMP_FABRICANTE

    ELSE

    CIMP_DESCRICAO + ' -3 ' + CIMP_FABRICANTE + ' - ' + CIMP_MODELO

    END

    END

    END

     

     

     

     

     

     

    Não esta funcionando como eu desejo, essa lógica esta correta? eu quero concatenar o campo apenas quando não for nulo.

    terça-feira, 20 de janeiro de 2009 10:50

Respostas

Todas as Respostas

  • Olá Carlos,

     

    Fiz algumas alterações na lógica, mas ainda não entendi exatamente o que você deseja. Caso não funcione, você poderia exemplificar ?

     

    Code Snippet

    SELECT *,

    CASE

    WHEN CIMP_FABRICANTE IS NULL AND CIMP_MODELO IS NULL THEN CIMP_DESCRICAO

    WHEN CIMP_FABRICANTE IS NULL AND CIMP_MODELO IS NOT NULL THEN CIMP_DESCRICAO + ' -1 ' + CIMP_MODELO

    WHEN CIMP_FABRICANTE IS NOT NULL AND CIMP_MODELO IS NULL THEN CIMP_DESCRICAO + ' -2 ' + CIMP_FABRICANTE

    ELSE CIMP_DESCRICAO + ' -3 ' + CIMP_FABRICANTE + ' - ' + CIMP_MODELO END

     

     

     

    [ ]s,

     

    Gustavo Maia Aguiar

    http://gustavomaiaaguiar.spaces.live.com

    terça-feira, 20 de janeiro de 2009 10:54
  • Eu tenho 3 campos, são eles:

    DESCRICAO

    FABRICANTE

    MODELO

     

    Quando os campos FABRICANTE ou MODELO não forem nulos eu os quero CONCATENAR com o campo DESCRICAO.

     

    terça-feira, 20 de janeiro de 2009 10:58
  • Olá Carlos,

     

    Seria isso ?

     

    Code Snippet

    SELECT

    CIMP_DESCRICAO + ISNULL(' ' + CIMP_MODELO,'') + ISNULL(' ' + CIMP_FABRICANTE,'')

     

    [ ]s,

     

    Gustavo Maia Aguiar

    http://gustavomaiaaguiar.spaces.live.com

     

    terça-feira, 20 de janeiro de 2009 11:04
  • Carlos,

     

    Mas esta condição de não ser nulo você deseja tratar dentro do Case?

    terça-feira, 20 de janeiro de 2009 11:09
  • não, apenas achei que seria somente com case, mas vi que com esse método já atende.

     

    terça-feira, 20 de janeiro de 2009 11:16