Calculos de Total, desconto em Sql

Delphi

08/04/2014

Olá pessoal,

Estou com problemas para fazer alguns calculos com sql, preciso colocar num relatório do fastreport o valor do desconto, total desconto, valor Liquido e total bruto,
mas não sei se é essa a forma certa de fazer, e também o group by não está dando certo dá erro: "expressions in group by are not supported".

Esse é o sql q estou tentando fazer. Utilizo delphi 7 com Tquery.

select
sum(m.valor) as total_bruto,
cast(sum(m.valor) - (sum(m.valor) * (cast(m.quantidade AS NUMERIC(2,2)) / 100)) AS NUMERIC(9,2)) as total_liquido,
cast(sum(m.valor) * (cast(m.quantidade AS NUMERIC(2,2)) / 100) AS NUMERIC(9,2)) as total_desconto,
cast(m.valor * (cast(m.quantidade AS NUMERIC(2,2)) / 100) AS NUMERIC(9,2)) as desconto
from Movfunc m
group by m.valor;


Obrigado!!!
Nbs Ltda

Nbs Ltda

Curtidas 0

Respostas

Cauê Nishijima

Cauê Nishijima

08/04/2014

Antes de tentar te ajudar fiquei com algumas dúvidas em relação ao seu código:
- O que seria a coluna quantidade?
- E qual o sentido de fazer um group by pela coluna valor?
- E pra que tanto Cast sendo que vc esta trabalhando com números apenas?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

08/04/2014

Esse é o erro que ocorre quando vc executa o SQL direto no banco de dados ou ele ocorre na aplicação?
GOSTEI 0
Silvano.zbi

Silvano.zbi

08/04/2014

Tenta ai...
select
sum (m.valor) as total_bruto,
sum((m.valor) - ((m.valor * m.quantidade)/ 100))as total_liquido,
sum((m.valor) * (m.quantidade / 100)) as total_desconto,
    ((m.valor *  m.quantidade)/ 100) as desconto
from Movfunc m
group by 4
GOSTEI 0
João álvares

João álvares

08/04/2014

Eu tenho uma dúvida: eu baixei um pdf com uma lista de exercícios para fazer e treinar e na primeira questão ele pede para criar uma tabela de Nota Fiscal que contenha Id da Nota Fiscal, código do produto,valor, quantidade, mas no desconto eu ainda não sei que variável coloco, procurei na internet mas me diziam para adicionar a colouna, mas n sei qual variável declaro dentro dela alguém poderia me ajudar nisso?
GOSTEI 0
POSTAR