Ir para conteúdo
Fórum Script Brasil
  • 0

ajuda com essa sintaxe


flavioavilela

Pergunta

boa tarde galera... estou precisando de uma forcinha aqui, para utilizar um IF ou um CASE, não sei, nunca precisei disso... estou fazendo essa consulta aqui e tudo está funcionando perfeitamente bem:

select P.Codigo_Original, P.Codigo_Venda, P.Descricao, P.Valor_Compra, UM.Sigla, ');
      sql.add('sum(IP.Qtde) as total_vendido, ((sum(IP.Qtde) / :Dias_Uteis1) * :Dias_Uteis2) as previsao_venda, ');
      sql.add('((sum(IP.Qtde) / :Dias_Uteis3) * :Dias_Entrega1) as previsao_venda_entrega,');
      sql.add('(sum(IP.Qtde) / :Dias_Uteis4) as media_diaria, P.Estoque, P.Estoque_Maximo, ');
      sql.add('(sum(IP.Qtde_Restante)) as pendente, (((sum(IP.Qtde) / :Dias_Uteis5) * :Dias_Entrega2) + P.Estoque_Maximo - P.Estoque) as sugestao from Produto P');
      sql.add('inner join Unidade_Medida UM on (P.Codigo_Unidade_Medida = UM.Codigo)');
      sql.add('inner join Itens_Pedido IP on (IP.Codigo_Produto = P.Codigo)');
      sql.add('inner join Pedido Ped on(IP.N_Pedido = Ped.N_Pedido)');
      sql.Add('where Ped.Data_Venda between :DI and :DF');
      sql.add('group by P.Codigo_Original, P.Codigo_Venda, P.Descricao, P.Valor_Compra, UM.Sigla, P.Estoque, P.Estoque_Maximo');
só que: 1 dúvida - se
((sum(IP.Qtde) / :Dias_Uteis3) * :Dias_Entrega1) as previsao_venda_entrega
for maior que
P.Estoque
então esse valor de
((sum(IP.Qtde) / :Dias_Uteis3) * :Dias_Entrega1) as previsao_venda_entrega
passa a ser o de
P.Estoque
.... 2 dúvida - se
P.Estoque < 0

então, na hora de gerar a consulta, ele deve ser desconsiderado..........

alguém pode ajudar????

Desde já, obrigado pela atenção e ajuda de todos..

Editado por flavioavilela
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde Flávio,

Tenta com o CASE. Fica mais fácil a implementação no select.

Olha se roda ai:

Case ((sum(IP.Qtde) / :Dias_Uteis3) * :Dias_Entrega1) > P.Estoque When P.Estoque 
Else ((sum(IP.Qtde) / :Dias_Uteis3) * :Dias_Entrega1)
End as previsao_venda_entrega

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...