Consulta SQL considerando dia a dia
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.
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
Curtidas 0
Respostas
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.
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
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?
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