none
Soma em um campo float RRS feed

  • Pergunta

  • Preciso de uma ajuda, criei uma table no sql serve e nessa tabela tem um campo float, estou tentando fazer um SUM nesse campo ma não estou conseguindo, não sei o que esta havendo que não faz a soma, a tabela sozinha faz a soma, mas quando faço inner join com outras tabelas não faz a soma no campo.

    segue a minha query

    SELECT
    SUM(PRO.Qtda) AS QTDA
    FROM tbl_SolicitacaoAmostra AS SA
    INNER JOIN tbl_Produto AS PRO WITH (NOLOCK) ON PRO.Id_Solicitacao = SA.Id_Solicitacao
    INNER JOIN tbl_Cliente AS CLI WITH (NOLOCK) ON CLI.Id_Cliente = SA.Id_Cliente
    WHERE sa.Cod_Solicitacao = '000065' AND PRO.Deletado IS NULL
    GROUP BY PRO.Cod_Produto, PRO.NomeProduto, PRO.Lote, PRO.Fabricante, PRO.Qtda, PRO.Id_Produto, PRO.Id_Solicitacao
    ORDER BY PRO.Cod_Produto

    resultado não faz o sum, 

    0,1
    0,05
    0,05
    0,1
    0,05


    JUNIOR GUERREIRO T.I

    quinta-feira, 28 de setembro de 2017 12:36

Respostas

Todas as Respostas

  • Bom dia,

    Você precisa de quais colunas no resultado?

    Experimente deixar no Group By somente as colunas que você vai precisar no resultado e que não estão dentro de funções de agregação (ex: Sum), como é o caso da coluna PRO.Qtda.

    Espero que ajude


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

    • Marcado como Resposta Junior Guerreiro quinta-feira, 28 de setembro de 2017 13:03
    quinta-feira, 28 de setembro de 2017 12:45
  • Bom dia.

    Tente assim:

    SELECT
    SUM(PRO.Qtda) AS QTDA
    FROM tbl_SolicitacaoAmostra AS SA
    INNER JOIN tbl_Produto AS PRO WITH (NOLOCK) ON PRO.Id_Solicitacao = SA.Id_Solicitacao
    INNER JOIN tbl_Cliente AS CLI WITH (NOLOCK) ON CLI.Id_Cliente = SA.Id_Cliente
    WHERE sa.Cod_Solicitacao = '000065' AND PRO.Deletado IS NULL
    ORDER BY PRO.Cod_Produto


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)

    quinta-feira, 28 de setembro de 2017 12:46
  • obrigado pela atenção, mas ainda não deu certo.

    SELECT
    PRO.Fabricante,
    SUM(PRO.Qtda) AS QTDA
    FROM tbl_SolicitacaoAmostra AS SA
    INNER JOIN tbl_Produto AS PRO WITH (NOLOCK) ON PRO.Id_Solicitacao = SA.Id_Solicitacao
    INNER JOIN tbl_Cliente AS CLI WITH (NOLOCK) ON CLI.Id_Cliente = SA.Id_Cliente
    WHERE sa.Cod_Solicitacao IN ('000065', '000070') AND PRO.Deletado IS NULL
    GROUP BY PRO.Cod_Produto, PRO.Fabricante
    ORDER BY PRO.Cod_Produto

    tudo que for DAITO KASEI tem que somar e mostrar em uma unica linha e não esta acontecendo...


    JUNIOR GUERREIRO T.I


    quinta-feira, 28 de setembro de 2017 12:55
  • Tente remover a coluna PRO.Cod_Produto do Group By e do Order By para ver se é obtido o resultado esperado.

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

    • Marcado como Resposta Junior Guerreiro quinta-feira, 28 de setembro de 2017 13:03
    quinta-feira, 28 de setembro de 2017 12:59
  • Tirei o order by  e funcionou....Muito obridado pela atenção de todos

    JUNIOR GUERREIRO T.I

    quinta-feira, 28 de setembro de 2017 13:03