iReport

Ola pessoal,

tenho uma query no meu relatorio que tem um GROUP BY,
e esta trazendo os resultados corretos, porem queria fazer uma filtragem sob a data de cadastro porem este campo esta na view na qual eu faco a consulta porem nao eh um field que eu trago no select, estou tendo dificuldade para filtrar por esse campo. Alguem pode me ajudar?

QUERY:

SELECT 
  origem, 
  produto, 
  origemid,
  SUM(quantidade) AS quantidade
FROM 
  vnestoque
WHERE
  direcao = 'entrada'
GROUP BY
  origem, 
  origemid,
  produto
ORDER BY
  origem,
  produto

e a expressao de filtragem:

Boolean.valueOf(($P{inicio}.before( datacadastro ) && $P{termino}.after( datacadastro )) &&
($P{origemid}.intValue() == -1 || $F{origemid}.intValue() == $P{origemid}.intValue()))

voce pode fazer a filtragem diretamente no select atravéz de um parametro…

a data de cadastro tem que ser retornada na view vnestoque …

ou você faz um join entre a view e a tabela que possui a data de cadastro

Carlos,

Se eu trousser a data o Group By nao ira funcionar porque datas diferentes nao agruparam por produtos como acontece na consulta acima.

Entendeu? O Pronblema é justamente este.

Henrique Nunes

Miguel Como faco para colocar a filtragem na Clausula WHERE da consulta com o paramentro?

WHERE
datacadastro BETWEEN $P{inicio} AND $P{termino}

Faça um sub-select, mais ou menos assim


SELECT 
  origem, 
  produto, 
  origemid,
  SUM(quantidade) AS quantidade
FROM 
  vnestoque
WHERE
  direcao = 'entrada'
  dataCadastro = (select data from DataCadastro)
GROUP BY
  origem, 
  origemid,
  produto
ORDER BY
  origem,
  produto
SELECT 
  origem, 
  produto, 
  origemid,
  SUM(quantidade) AS quantidade
FROM 
  vnestoque
WHERE
  direcao = 'entrada' AND (datacadastro BETWEEN $P{inicio} AND $P{termino} )
GROUP BY
  origem, 
  origemid,
  produto
ORDER BY
  origem,
  produto

Fiz dessa forma e funcionou, mesmo assim obrigado a todos.

[quote=colix]Carlos,

Se eu trousser a data o Group By nao ira funcionar porque datas diferentes nao agruparam por produtos como acontece na consulta acima.

Entendeu? O Pronblema é justamente este.

Henrique Nunes[/quote]

ah, entao a data cadastro já vem na view vnestoque (imagino que com esse nome deva ser uma view)

é só fazer como fez com os parametros na pergunta que fez ao miguel.