none
Layout Consulta RRS feed

  • Pergunta

  • Amigos tenho uma table onde desejo colocar os valores de uma coluna especifico como varias colunas conforme os seus valores individuasi.

    Vide exemplo:

    Table atual
    A
    B
    C
    D

    Table Desejada
    A B C D






    Daniel
    sexta-feira, 19 de junho de 2009 17:54

Respostas

  • Ola Daniel

    Qual a versão do SQL? se 2005 ou superior use o PIVOT

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:13
    • Não Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:34
    • Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:34
    • Não Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:40
    • Marcado como Resposta dralves segunda-feira, 22 de junho de 2009 14:15
    sexta-feira, 19 de junho de 2009 18:05

Todas as Respostas

  • Ola Daniel

    Qual a versão do SQL? se 2005 ou superior use o PIVOT

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:13
    • Não Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:34
    • Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:34
    • Não Marcado como Resposta dralves sexta-feira, 19 de junho de 2009 18:40
    • Marcado como Resposta dralves segunda-feira, 22 de junho de 2009 14:15
    sexta-feira, 19 de junho de 2009 18:05
  • Marcelo,

    não consegui realizar o que queria.

    No banco eu tenho as seguintes datas :: 13/05/2009, 02/06/2009, 09/06/2009, 18/06/2009, porém outras datas serão criadas mais não sei quais são. Poderiam ajudar.

    Ah coloquei o código mais não está funcionando.

    SELECT Fx_Atraso, [1], [2], [3], [4]
    FROM 
    (SELECT Fx_Atraso, 
    --Case When UN In('Varejo', 'Varejo/Oi Conta Colaborador', 'VARME', 'VARRES', 'VARRES/Oi Conta Colaborador', 'VARRES/TOP') Then 'Varejo' End as Varejo,
    Dt_Relatorio, Cast(Sum(Sld_Devedor) as Money) as Vl_Sld_Devedor
    FROM dbo.D_Pontual_CR_Relatorio_Oi
    Group By Fx_Atraso, Dt_Relatorio) AS TBO
    PIVOT
    (Sum(Vl_Sld_Devedor) FOR Dt_Relatorio AS TPVT

     

     

     


    Daniel
    sexta-feira, 19 de junho de 2009 18:39
  • Daniel,

    da uma olhana neste posto do SQLSERVERCENTRAL

    http://www.sqlservercentral.com/articles/Advanced+Querying/pivottableformicrosoftsqlserver/2434/


    OBS: A coluna "pivotada" deve se fixa nao pode ser dinamica

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    sexta-feira, 19 de junho de 2009 19:25
  • Marcelo,

    Então não existe como colocar essas colunas como dinamica?

    Desde já agradeço
    Daniel
    segunda-feira, 22 de junho de 2009 12:43
  • Daniel,

    Só se vc montar um query dinamica... (vc seleciona antes quais as datas que vc precisa e monta um string depois com estas datas)
    pq em vias de praxe o pivot tem que ser fixo.

    Att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    segunda-feira, 22 de junho de 2009 12:59