Seguinte: Tenho uma consulta, que nela há 4 parâmetros(data inicial/data final/executor/status), mas nessa consulta os unicos parâmetros que são exigidos são as 2 datas.
Pergunta: Como fazer com que nesse meu relatório tenha essa variação, já que é preciso deixar o SQL pré-estabelecido :?:
É tudo uma questao de SQL meu caro.
vc pode deixar ele assim:
select coluna1
from tabela1
where coluna1 = $P{param1}
AND coluna2 = $P{param2}
AND colunaOpt1 = NVL($P{paramOpt1},colunaOpt1)
AND colunaOpt2 = NVL($P{paramOpt2},colunaOpt2)
Acho q eh essa a ideia… ainda nao precisei
Agora passa como null o valor do parametro.
Abraços.
powerguido
Mas isso não quer dizer que no Banco de Dados aquela coluna estará NULA!
Fazendo isso, o SQL me retornaria tudo o que naquela coluna for nulo/vazio, e no meu caso eu quero é não ter essa clausula Where.
Entendeu? :roll:
brlima
acho que vc nao entedeu… o que eu tentei fazer é exatamente, se vc nao informar o parametro, ele assumi que a coluna é igual a ela mesma, dai se o parametro do relatorio for nulo, ele traz todo mundo, pq sempre uma coluna é igual a outra… Entendeu ?
Se bem q pensando bem, se a coluna ta nula ferro…rs…
Ah, vc pode usar assim:
AND (coluna1 = $P{param1} OR $P{param1} IS NULL)
sempre que vc passar nulo no parametro, ele ignora o filtro e traz todo mundo.
powerguido
Cara, não deu certo isso.
Ele não consegue interpretar o SQL … tentei até passar todo o SQL como parâmetro e tb não funcionou …