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
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
Curtir tópico
+ 0
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
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
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é+
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
Clique aqui para fazer login e interagir na Comunidade :)