Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

flavioavilela

sintaxe

Recommended Posts

boa tarde galera... estou precisando de uma forcinha aqui, para utilizar um IF ou um CASE, nao 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..........

 

 

Alguem pode ajudar????

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.