É o seguinte pessoal, tenho um filtro onde tem 3 campos.
1- Data Venda - Data_Venda
2- Gerente de Venda - gerente
3- Gerente Angariador - gerente_ang
O mesmo gerente pode ser filtrado como de venda e de Angariação.
Quando filtro pela data 01/10/2011 á 31/11/2011 e gerente X no campo gerente de Venda e Angariação com (Combinação dos dados selecionados: Marcado como “e”), não traz nenhum registro. O SQL montado é esse:
Data_Angariacao, Data_Venda, Midia, Prazo_Venda_Imovel, Data_Cadastro, Prazo_Compra, Produto, Imovel_Comprador_Vendedor, Unidade, Valor_Venda, Comissao_Total, Percentual_de_Comissao, Corretor, Comissao_Corretor, Angariador, Comissao_Angariador, gerente, gerente_ang from c_rel_vendas where Data_Venda between ‘2011-10-01 00:00:00’ and ‘2011-10-31 23:59:59’ and gerente in (2586) and gerente_ang in (2586) order by gerente
Quando deixo (Combinação dos dados selecionados: Marcado como “ou”). Retorna todos os registros. O SQL montado é esse:
SELECT Data_Angariacao, Data_Venda, Midia, Prazo_Venda_Imovel, Data_Cadastro, Prazo_Compra, Produto, Imovel_Comprador_Vendedor, Unidade, Valor_Venda, Comissao_Total, Percentual_de_Comissao, Corretor, Comissao_Corretor, Angariador, Comissao_Angariador, gerente, gerente_ang from c_rel_vendas where Data_Venda between ‘2011-10-01 00:00:00’ and ‘2011-10-31 23:59:59’ or gerente in (2586) or gerente_ang in (2586) order by gerente
A solução poderia ser forçar um OR entre os campos gerente e gerente_ang, na clausula Where ficaria um AND e um OR
SELECT Data_Angariacao, Data_Venda, Midia, Prazo_Venda_Imovel, Data_Cadastro, Prazo_Compra, Produto, Imovel_Comprador_Vendedor, Unidade, Valor_Venda, Comissao_Total, Percentual_de_Comissao, Corretor, Comissao_Corretor, Angariador, Comissao_Angariador, gerente, gerente_ang from c_rel_vendas where Data_Venda between ‘2011-10-01 00:00:00’ and ‘2011-10-31 23:59:59’ and gerente in (2586) or gerente_ang in (2586) order by gerente
Teria como fazer isso no scriptcase?