none
Duvida para utilizar o PIVOT RRS feed

  • Pergunta

  • <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /><title></title>Tenho uma tabela que lista as informações abaixo tem a quantidade de linhas dinâmicas.

    Modelo Grupo Valor
    BombaA Hidraulica 500
    BombaA Eletrica 100
    Compressor Vazao 50
    Compressor Eletrica 150
    Compressor Diversos 20


    Preciso exibi-la assim, alguém pode me ajudar se for possível?

    Grupo BombaA Compressor
    Hidraulica 500 -
    Eletrica 100 150
    Vazao - 50
    Diversos - 20

    Já quebrei a cabeça a ainda não consegui.


    Fabiano Pires

    terça-feira, 12 de abril de 2016 14:12

Respostas

  • Bom dia,

    Experimente mais ou menos dessa forma:

    select
        Grupo,
        [BombaA],
        [Compressor]
    from Tabela
    pivot
    (
        max(Valor) for Modelo in ([BombaA], [Compressor])
    ) as p

    Espero que ajude


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

    • Marcado como Resposta Fabiano Pires terça-feira, 12 de abril de 2016 15:39
    terça-feira, 12 de abril de 2016 14:19
  • Um dos problemas é que não posso exibir o Max da coluna valor, pois cada modelo tem seu valor para o grupo,  e preciso montar as colunas dinamicamente isso já até consegui.

    Fabiano Pires

    • Marcado como Resposta Fabiano Pires terça-feira, 12 de abril de 2016 15:39
    terça-feira, 12 de abril de 2016 14:33

Todas as Respostas

  • Bom dia,

    Experimente mais ou menos dessa forma:

    select
        Grupo,
        [BombaA],
        [Compressor]
    from Tabela
    pivot
    (
        max(Valor) for Modelo in ([BombaA], [Compressor])
    ) as p

    Espero que ajude


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

    • Marcado como Resposta Fabiano Pires terça-feira, 12 de abril de 2016 15:39
    terça-feira, 12 de abril de 2016 14:19
  • Um dos problemas é que não posso exibir o Max da coluna valor, pois cada modelo tem seu valor para o grupo,  e preciso montar as colunas dinamicamente isso já até consegui.

    Fabiano Pires

    • Marcado como Resposta Fabiano Pires terça-feira, 12 de abril de 2016 15:39
    terça-feira, 12 de abril de 2016 14:33
  • Fabiano,

    Na verdade o Pivot vai ser criado com base no Max(Valor) ele não será exibido como linha e sim como coluna.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 12 de abril de 2016 14:53
  • Entendi,  aparentemente deu certo, eu estava utilizando Sum(valor) e o valor esta saindo errado, alterando para max deu certo.

    qualquer coisa posto novamente.


    Fabiano Pires

    terça-feira, 12 de abril de 2016 15:39