none
Dica em Pivot e Unpivot? RRS feed

  • Pergunta

  • Boa tarde,

    Gostaria de saber se há alguma maneira prática de pivotar uma tabela com milhares de tipos de registro.

    A Coluna X contém o COD_BARRA e a Coluna Y contém o COD_SUBCOD
    Pergunto em maneira prática pois a coluna X tem mais de 19 mil tipos de COD_BARRA diferentes uns dos outros, e para cada cod barra posso ter até 5 SUBCOD

    Ex do modelo

    X Y
    1 xpto
    1 qwrt
    1 34rf
    1 3g36
    2 hdye
    2 273y
    2 dg29
    3 vdg7
    3 37bf
    3 n894
    3 gbt4
    3 37uh

    As instruções PIVOT que achei até agora, preciso colocar na query os valores da coluna X.

    Porém isso se torna inviável devido a quantidade.
    Alguém tem alguma ideia ou passou por cenário parecido?


    Obrigado


    DBA Vini


    • Editado Vinicius Allil quarta-feira, 3 de fevereiro de 2016 17:33 Criando pergunta no título
    quarta-feira, 3 de fevereiro de 2016 17:04

Respostas

  • Experimente fazer um teste dessa forma para ver se é obtido o resultado esperado:

    select
        COD_BARRA,
        [1],
        [2],
        [3],
        [4],
        [5]
    from 
    (
        select 
            COD_BARRA,
            SUBCOD,
            ROW_NUMBER() OVER(PARTITION BY COD_BARRA ORDER BY SUBCOD) as RN
        from Tabela
    ) as t
    pivot
    (
        max(SUBCOD) for RN in ([1], [2], [3], [4], [5])
    ) as p

    Espero que ajude


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

    • Sugerido como Resposta Ricardo dos Sntos quinta-feira, 4 de fevereiro de 2016 04:36
    • Marcado como Resposta Marcos SJ quinta-feira, 4 de fevereiro de 2016 16:55
    quarta-feira, 3 de fevereiro de 2016 18:37

Todas as Respostas