Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

s.ono

[Resolvido] sum (column_alias) .. é possível?

Recommended Posts

Olá.

Sou nova aqui e, pelo que pesquisei, não havia tópico para minha pergunta.

Não tenho muita experiência em SQL Server, então minha pergunta pode ser idiota.. então, me desculpem.

 

Minha dúvida é:

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

Gostaria de saber se existe uma forma de somar os valores dessa coluna criada, do tipo SUM(comissao).

 

Desde já agradeço a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT SUM((TB_VENDA_ITENS.valor * TB_VENDA_ITENS.quantidade) * TB_VENDA_ITENS.comissao) as comissao

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT SUM((TB_VENDA_ITENS.valor * TB_VENDA_ITENS.quantidade) * TB_VENDA_ITENS.comissao) as comissao

 

 

Bom dia, Motta.

Obrigada pela ajuda.

Mas eu já tinha tentado isso e os valores vinham errados.

Depois, percebi que era por causa da linhas duplicadas que vinham depois de ter feito os joins das tabelas. (mas que não apareciam porque eu usava group by ou distinct).

Por isso, queria saber se tinha como somar a coluna_alias.

 

Como não tenho muito conhecimento no assunto, não sei se estou no caminho certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Motta.

Eu meio que consegui resolver aqui.. mas ficou meio feio..rs

Segue abaixo a query.

 

 

select sum(val_totalComissao) as result_comissao, sum(val_totalItens), funcionario from (

SELECT distinct TB_VENDA_ITENS.id_tb_produto, TB_VENDA.id, TB_FUNCIONARIO.apelido as funcionario, TB_VENDA.valortotal as val_totalVenda, TB_VENDA_ITENS.valor as val_vendaItens, (TB_VENDA_ITENS.valor * TB_VENDA_ITENS.quantidade) as val_totalItens, ((TB_VENDA_ITENS.valor * TB_VENDA_ITENS.quantidade) * TB_VENDA_ITENS.comissao) as val_totalComissao

FROM TB_VENDA_ITENS

INNER JOIN TB_VENDA ON (TB_VENDA_ITENS.id_tb_venda = TB_VENDA.id)

INNER JOIN TB_FUNCIONARIO ON (TB_VENDA.id_tb_funcionario = TB_FUNCIONARIO.id)

INNER JOIN TB_NF_SAIDA ON (TB_VENDA.id = TB_NF_SAIDA.id_tb_venda)

INNER JOIN TB_FIN_PAGAMENTO ON (TB_NF_SAIDA.id = TB_FIN_PAGAMENTO.id_tb_nf_saida)

INNER JOIN TB_FIN_PAGAMENTO_PARCELA ON (TB_FIN_PAGAMENTO.id = TB_FIN_PAGAMENTO_PARCELA.id_tb_fin_pagamento)

WHERE CONVERT(CHAR(10),TB_VENDA.datavenda,120) >= '2010-08-01' and CONVERT(CHAR(10),TB_VENDA.datavenda,120) <= '2010-08-30'

AND TB_VENDA.ativo = 'true' AND TB_FIN_PAGAMENTO_PARCELA.id_tb_fin_pgto_forma <> 1

) as tab_vendas

group by funcionario

 

Obrigada pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Query feia é a que não funciona.

 

:)

 

Verifique se na sub-query não ficou faltando alguma chave que está gerando um produto cartesiano indevido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.