Consulta SQL considerando dia a dia

SQL

Delphi

15/02/2022

Boa tarde a todos,

sou relativamente novo em programação Delphi e SQL. Gostaria de saber se seria possível realizar uma consulta SQL, criando como se fosse um laço de repetição.

A tabela do banco de dados tem os seguintes campos: DataVenda, VendaLiquida e Margem. Gostaria de calcular o custo dia a dia em que fosse feito uma consulta informando períodos.

Por exemplo: O usuário informou o período 01/01/2022 a 31/01/2022. Ao invés de realizar uma média da venda dentro do período utilizando a função AVG e subtrair a margem da venda, realizar a conta do custo a cada dia (Dia 01/01/2022 = R$5.000, dia 02/01/2022 = R$4.500, etc…) e no final, somar todos esses custos para criar o valor do custo final.

Atualmente realizo uma média da margem utilizando o período informado, porém o custo, a margem e o lucro acabam ficando incorretos, isso porque o ERP em que eu puxo os dados, trabalha com custo diário e não com custo médio.

Exemplo: SELECT AVG(Margem) AS “margem::FLOAT” FROM tbVenda

Caso seja possível, será de grande ajuda. Obrigado.
Lucas Ferreira

Lucas Ferreira

Curtidas 0

Respostas

Jessé Santana

Jessé Santana

15/02/2022

Olá Lucas!
Nesse caso para gerar um custo diário é possível fazer da seguinte forma:
SELECT SUM(VendaLiquida) - SUM(Margem), DataVenda AS Liquido FROM tbVenda GROUP BY DataVenda;
No caso acima o SQL irá somar o valor líquido diário total menos a margem diária total e trazer isso individualizado por dia, por conta da cláusula GROUP BY.
GOSTEI 0
Lucas Ferreira

Lucas Ferreira

15/02/2022

Olá Jessé!

Muito obrigado pela ajuda, resolveu exatamente o que eu queria. Seria possível somar todos os valores da variável Liquido em uma única variável?
GOSTEI 0
POSTAR