O select não é exatamente esse, foi só um exemplo, mas espero ter sido claro na minha dúvida. Quero fazer um relatório com os dados destas pesquisas
Até hoje só fiz relatórios no iReport enviando apenas uma query.
Estou pensando em criar uma classe Model para popular com os dados retornados pelas consultas e enviar para o iReport, mas não sei como fazer isso.
Enfim…Aceito sugestões e espero ter sido claro no que eu preciso
Na sua própria query isso já poderia ser resolvido… A maioria dos bancos implementa meios de executar instruções condicionais dentro de comandos select. Veja por exemplo duas abordagens que funcionariam em Oracle:
select codcliente
,nome
, decode(tipo,'F',calcula_pessoa_fisica(codcliente), calcula_pessoa_juridica(codcliente)) calculo
from cliente
ou …
select codcliente
,nome
, case when tipo = 'F' then
calcula_pessoa_fisica(codcliente)
else
calcula_pessoa_juridica(codcliente)
end calculo
from cliente
Acho que o case é mais universal, mas outros bancos implementam funcões semelhantes ao DECODE() do Oracle.
Mas concorda que o melhor dos mundos seria ter uma função única que já podia retornar direto o valor? Porque se ela vai receber o codcliente, internamente ela poderia consultar a tabela cliente e saber o tipo que ele é e a partir disso decidir se calcula uma pessoa física ou jurídica…
Concordo… realmente a melhor forma é ter uma única query. Eu vou ver se consigo aplicar a sua solução no meu caso.
Na verdade o que estou fazendo é pegando uma rotina m Delphi que está do jeito que descrevi no tópico e passando para Java.
Vou tentar dessa forma e depois retorno aqui se funcionou. Valeu!!