Ir para conteúdo
Fórum Script Brasil
  • 0

sum (column_alias) .. é possível?


s.ono

Pergunta

Olá.

Sou nova aqui e, pelo que pesquisei no fórum, não há um tópico com a minha dúvida.

Não tenho muito conhecimento em SQL Server, então, se minha pergunta for idiota, por favor, me desculpem.

Tenho a seguinte consulta:

((TB_VENDA_ITENS.valor * TB_VENDA_ITENS.quantidade) * TB_VENDA_ITENS.comissao) as val_comissao

Gostaria de saber se é possível somar os dados que retornaram nessa coluna criada, algo do tipo SUM(val_comissao).

É possível?

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde S.ono,

você pode fazer o sum. Ficaria assim:

sum(((TB_VENDA_ITENS.valor * TB_VENDA_ITENS.quantidade) * TB_VENDA_ITENS.comissao)) as val_comissao

Mas você quer os valores, mais a soma deles? Se for isso, deixaria esta soma para o aplicativo...

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Fulvio.

Obrigada pela ajuda. =)

Mas eu já tentei fazer isso e retornaram valores errados (bem mais altos).

Daí, depois de pesquisar, percebi que quando fiz os joins das tabelas, eles retornam linhas duplicadas de alguns produtos (mas isso não aparecia por causa do group by ou do distinct que eu usava.

Então, quando faço o sum(((TB_VENDA_ITENS.valor * TB_VENDA_ITENS.quantidade) * TB_VENDA_ITENS.comissao)) as val_comissao, os valores vem errados.

Por não conhecer muito do assunto, estou meio perdida. =(

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia S.ono,

você pode utilizar, juntamente com a cláusula sum, as cláusulas distinct e group by também. No entanto, seria interessante saber o por que alguns produtos estão sendo duplicados. Pode ser da própria modelagem, ou erro na implementação nos relacionamentos.

Uma coisa que percebi. Todos os valores estão contidos em uma mesma tabela. Por que não cria uma coluna para armazenar o valor da comissão? Muitas pessoas usam triggers para deixar os campos atualizados, mas há uma função no SQL q pouca gente conhece, mas muuuuito util.

Segue um exemplo abaixo. Espero que ajude.

create table dbo.TB_VENDA_ITENS (
Valor int,
Quantidade int,
Comissao int,
Val_comissao as Valor*Quantidade*Comissao)

insert into TB_VENDA_ITENS (Valor, Quantidade, Comissao) values (2, 3, 1)
insert into TB_VENDA_ITENS (Valor, Quantidade, Comissao) values (2, 3, 3)

select * from TB_VENDA_ITENS

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...