none
Consulta Invertida RRS feed

  • Pergunta

  • Olá pessoal, gostaria de saber se tem como fazer isso com uma consulta.

    Eu faço uma consulta que me retorna os seguintes dados:

    COL1    COL2      COL3    COL4

    1           TEXTO1                   1
    1           TEXTO1       1          5
    1           TEXTO1       2         21
    1           TEXTO1       3          4

    2           TEXTO2       1          8
    2           TEXTO2       3          12

    ...

    Vejam que o Texto 1 aparece 4 vezes, que é o máximo de vezes que pode aparecer, ou seja, de 0 a 4 registros, pode ser que um "TEXTO8" não retorne nada.

    Queria fazer um select em cima desse de forma que ele me trouxesse da seguinte forma:

                                 (vazio)    (1)         (2)         (3)

    COL1    COL2      COL4    COL5    COL6    COL7   

    1           TEXTO1      1            5           21          4
    2           TEXTO2                    8                         12

    Vejan que seria feito um distinct na COL2 e os dados da COL4 ele colocaria em linha de acordo com a COL3, a COL3 identificaria qual coluna o valor da COL4 iria ficar, acho que deu pra entender?

    abraços ai feras,...isso ai ta me tomando um tempo já

    quarta-feira, 12 de dezembro de 2012 18:55

Respostas

  • Boa tarde,

    Experimente desta forma:

    select
        Col1,
        Col2,
        max(case when Col3 is null then Col4 end) as Col4,
        max(case when Col3 = 1 then Col4 end) as Col5,
        max(case when Col3 = 2 then Col4 end) as Col6,
        max(case when Col3 = 3 then Col4 end) as Col7
    from Tabela
    group by
        Col1,
        Col2
    

    Espero que ajude.


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

    • Marcado como Resposta Apollo130 quinta-feira, 13 de dezembro de 2012 11:23
    quarta-feira, 12 de dezembro de 2012 19:21

Todas as Respostas