none
Dificuldade com agrupamento RRS feed

  • Pergunta

  • Pessoal, eu preciso agrupar o resultado dessa query somente pela moeda só que não estou obtendo sucesso. Se puderem me ajudar ficarei grato.

    segue o código: 

    SELECT  [m].[moeda],
        [tp].[custo_atual] AS Custo_atual , 
        ((([tp].[desmembrar] * COUNT([tp].[idmoeda_setape]))/100) * custo_atual) AS Desmembrar,
        ([tp].[custo_atual] - ((([tp].[desmembrar] * COUNT([tp].[idmoeda_setape]))/100) * custo_atual)) AS Tot_desmembrado
    FROM @tpArmazenaValores [tp]
    INNER JOIN [dbo].[tbmoeda] [m] ON [m].[IdMoeda_setape] = [tp].[idmoeda_setape]
    GROUP BY [tp].[custo_atual], [tp].[desmembrar], [m].[moeda]
    
    
    Resultado:
    
    moeda	Custo_atual	Desmembrar	Tot_desmembrado
    Dolar	500,00000	83,33000	416,67000
    Real	300,00000	24,99900	275,00100
    Real	300,00000	25,00000	275,00000

    Resultado Almejado:

    moeda	Custo_atual	Desmembrar	Tot_desmembrado
    Dolar	200,00000	40,00000	160,00000
    Real	100,00000	20,00000	80,00000
    

    Obrigado


    • Editado Evertoum quinta-feira, 17 de maio de 2012 20:52
    quinta-feira, 17 de maio de 2012 20:42

Respostas

  • Evertoum,

          Seria mais interessante se você postasse a sua estrutura, ou pelo menos, parte dela e dados de exemplo para que possamos analisar melhor o caso. Pela sua query, para a moeda Dolar, você REALMENTE possui uma linha com custo atual de 500,00 e outra de Real com custo Atual de 300,00, já que você está "quebrando" com group by pelo Custo Atual, pelo campo Desmembrar e finalmente pela moeda. Isso significa que a sua query vai ver todos os custo_atual e agrupá-los, depois agrupar pelo Desmembrar e somente ao final pela Moeda.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Sugerido como Resposta Heloisa Pires terça-feira, 5 de junho de 2012 17:49
    • Marcado como Resposta Heloisa Pires sexta-feira, 8 de junho de 2012 14:48
    quinta-feira, 17 de maio de 2012 21:34
    Moderador
  • Evertoum,

    Então se você deseja agrupar pela coluna Moeda, teóricamente para que o agrupamento possa ser realizado é necessário que você venha a utilizar uma função de agregação para esta coluna.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Sugerido como Resposta Heloisa Pires terça-feira, 5 de junho de 2012 17:49
    • Marcado como Resposta Heloisa Pires sexta-feira, 8 de junho de 2012 14:48
    sexta-feira, 18 de maio de 2012 17:38

Todas as Respostas

  • Evertoum,

          Seria mais interessante se você postasse a sua estrutura, ou pelo menos, parte dela e dados de exemplo para que possamos analisar melhor o caso. Pela sua query, para a moeda Dolar, você REALMENTE possui uma linha com custo atual de 500,00 e outra de Real com custo Atual de 300,00, já que você está "quebrando" com group by pelo Custo Atual, pelo campo Desmembrar e finalmente pela moeda. Isso significa que a sua query vai ver todos os custo_atual e agrupá-los, depois agrupar pelo Desmembrar e somente ao final pela Moeda.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Sugerido como Resposta Heloisa Pires terça-feira, 5 de junho de 2012 17:49
    • Marcado como Resposta Heloisa Pires sexta-feira, 8 de junho de 2012 14:48
    quinta-feira, 17 de maio de 2012 21:34
    Moderador
  • Evertoum,

    Então se você deseja agrupar pela coluna Moeda, teóricamente para que o agrupamento possa ser realizado é necessário que você venha a utilizar uma função de agregação para esta coluna.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Sugerido como Resposta Heloisa Pires terça-feira, 5 de junho de 2012 17:49
    • Marcado como Resposta Heloisa Pires sexta-feira, 8 de junho de 2012 14:48
    sexta-feira, 18 de maio de 2012 17:38