 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rogerioclaro2 Experiente

Registrado: Quinta-Feira, 17 de Outubro de 2013 Mensagens: 404
|
Enviada: Seg Jul 23, 2018 9:05 am Assunto: Select Montar Venda SQL Server[RESOLVIDO] |
|
|
Pessoal, bom dia!
Estou com um problema e não estou conseguindo solução, preciso de ajuda rsss
Estou com um banco de dados que nao tem uma tabela de "vendas" o valor total da venda e composto da soma da tabela contas a receber, porém há varias situações a serem levantadas antes de somente dar um "sum e group by"
Um exemplo, e o da imagem abaixo, se você observarem na tabela tem 3 campos, valoraareceber, valor original, e valor recebido. o valor da venda esta "com condições" nesses 3 campos, exemplo dessa venda o valor dela (devido ao recebimento parcial de parcelas).
Assim:
1º Parcela = 48,67, pois o valor recebido>= valororiginal
2º Parcela = 8,34, pois houve uma baixa parcial valororoginal-valorrecebido
3º Parcela = 48,66 ainda nao houve baixa e o valorareceber = 48,66
Sendo assim o valor da venda somando os valores acima e de 105,67
Alguém tem alguma ideia de como colocar as condições cima em um select no sqlserver?
Desde ja obrigado pessoal

Editado pela última vez por rogerioclaro2 em Seg Jul 23, 2018 10:58 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Seg Jul 23, 2018 10:29 am Assunto: |
|
|
Bom dia,
Experimente fazer uns testes mais ou menos dessa forma:
Código: | select
Documento,
Cli_Id,
Ven_Data,
sum(case when ValorRecebido >= ValorOriginal then ValorRecebido else ValorAReceber end) as Total
from Receber
group by
Documento,
Cli_Id,
Ven_Data |
Espero que ajude
Editado pela última vez por imex em Dom Out 01, 2023 4:21 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
rogerioclaro2 Experiente

Registrado: Quinta-Feira, 17 de Outubro de 2013 Mensagens: 404
|
Enviada: Seg Jul 23, 2018 10:55 am Assunto: |
|
|
imex escreveu: | Bom dia,
Experimente fazer uns testes mais ou menos dessa forma:
Código: | select
Documento,
Cli_Id,
Ven_Data,
sum(case when ValorRecebido >= ValorOriginal then ValorRecebido else ValorAReceber end) as Total
from Receber
group by
Documento,
Cli_Id,
Ven_Data |
Espero que ajude
|
Imex, bom dia!
Obrigado pela ajuda fiz alguns ajuste e aparentemente deu certo, obrigado |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|