none
Selecionar registros se determinado campo for maior que zero RRS feed

  • Pergunta

  • Olá Pessoal!

    Preciso selecionar o registro de uma tabela quando determinado campo for maior que zero, como posso fazer?

    Exemplo:

    ID | Valor01 | Valor02 | Valor03 | Valor04

    1 0 25 0 3

    2 78 0 12 0

    3 83 0 20 0

    4 90 15 18 1

    Preciso exibir os seguintes campos ID, TIPO, VALOR e QTD. Onde:

    • TIPO será 01 se Valor03 for maior que zero e 02 se Valor04 for maior que zero, se ambos atenderem a condição preciso preencher uma linha para cada valor.

    Para os valores acima, ficaria da seguinte maneira

    ID TIPO  VALOR QTD

    1 02 25 3

    2 01 78 2

    3 01 83 20

    4 01 90 18

    4 02 15 1

    Obrigada!



    • Editado Camila Reis segunda-feira, 8 de junho de 2015 19:58
    segunda-feira, 8 de junho de 2015 19:55

Respostas

  • Boa tarde,

    Experimente mais ou menos dessa forma:

    select
        ID,
        '01' as Tipo,
        Valor01 as Valor,
        Valor03 as Qtd
    from Tabela
    where 
        Valor03 > 0
        
    union all
    
    select
        ID,
        '02' as Tipo,
        Valor02 as Valor,
        Valor04 as Qtd
    from Tabela
    where 
        Valor04 > 0
    
    order by 
        ID, 
        Tipo

    Espero que ajude.


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

    • Marcado como Resposta Cristopher C I_ quinta-feira, 18 de junho de 2015 19:46
    segunda-feira, 8 de junho de 2015 20:30

Todas as Respostas