sintaxe
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...
Discussão (1)
Carregando comentários...