Fórum como colocar um if dentro de for em uma procedure #241696

06/07/2004

0

caros amigos estou fazendo um procedure dessa forma
For Select itens_pedido.cod_produto,
sum(itens_pedido.qtde_atendida) from Itens_Pedido

o problema e que preciso colocar um if antes do where, porque tenho uma variavel que passo em tempo de execução chamada faturado

dai ficaria dessa forma

If (Faturado = ´S´) then
begin
where Pedido.data_faturamento between :data_inicial and :data_final
end
else
begin
where Pedido.data_pedido between :data_inicial and :data_final, end

se alguem puder me ajudar agradeço muito


Fernando

Fernando

Responder

Posts

06/07/2004

Cabelo

Caro colega??

Pq vc não faz as coisas separadamente??

primeiro vc faz um select, armazena o retorno em uma variável, e depois vc faz o for..

Não entendi a necessidade desta instrução..

faça separadamente..

sem mais

Cabelo


Responder

Gostei + 0

06/07/2004

Paulo_amorim

Olá

Se sua query eh dinâmica vc pode fazer no delphi mesmo o IF
with Query1.SQL do
begin
  Add( ´SELECT itens_pedido.cod_produto,´);
  Add( ´sum(itens_pedido.qtde_atendida) from Itens_Pedido ´);
  if Faturado = ´s´ then
    Add( ... )
  else
    Add( ...);
end;


Se não, vc pode fazer 2 queries separadas, e abrir uma ou outra dependendo do IF

Tem como também vc trazer AMBOS e filtrar num where, se vc quiser, utilizando UNION
Se preferir trazer os 2 assim posta ae que a gente ajuda a montar a query...

Espero que ajude
Até+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar