Pessoal, preciso de uma ajuda de vocês, acho que é simples
Estou começando a mecher agora com iReports, li alguns materiais e inclusive o artigo daqui porem ainda estou com dificuldades para fazer oque eu quero. E queria saber como faço para fazer o seguinte relatorio:
Tenho uma lista de Areas que possuem usuarios que ocupam uma baia que possuem um tamanho, eu consigo trazer essa lista de areas e tamanhos assim:
select a.nome as Area, t.nome as Tamanho
from usuarios u left outer join baia b on b.numero = u.baia left join area a on a.id = u.area, tamanho_baia t
where b.tamanho = t.id
group by a.nome, t.nome
order by a.nome, t.nome
porem eu preciso fazer um count, para me trazer o numero de baias do tamanho X da area Y. Por exemplo:
select count(*)
from baia b, tamanho_baia t
where b.tamanho = t.id
and t.nome = 'X'
and b.numero in (select baia
from usuarios u, area a
where u.area = a.id
and a.nome = 'Y')
A minha duvida é como eu faço:
1 - para usar as duas querys ou junta-las no SQL
2 - como faço para substituir X e Y pelo valor das duas primeiras colunas:
Exemplo das duas primeiras linhas do relatório:
-----------------------------------------------------------
| Area | Tamanho | Qtde
-----------------------------------------------------------
| ADM | Grande | count(Y = ADM e X = Grande)
| ADM | Pequena | count(Y = ADM e X = Pequena)
-----------------------------------------------------------
Por favor me ajudem não sei como posso fazer.
Muito Obrigado pela ajuda
Bom sua dúvida é no SQL, não no iReport.
Enfim, faça uma subquery dentro do SELECT principal retornando somente um campo, ai você pode utilizar os campos da query principal no seu WHERE da subquery.
Exemplo:
SELECT
a.nome,
(Select count(*) FROM teste3 c WHERE c.id = a.teste3_id)
FROM
teste1 a, teste2 b
WHERE
a.nome = b.nome
Funcionou cara!!! =D
Valew ^^
Só mais duas duvidas:
1 - Em vez de:
-----------------------------------------------------------
| Area | Tamanho | Qtde
-----------------------------------------------------------
| ADM | Grande | count(Y = ADM e X = Grande)
| ADM | Pequena | count(Y = ADM e X = Pequena)
-----------------------------------------------------------
Tem como mostrar assim, exibindo uma vez só o ADM?
-----------------------------------------------------------*
| Area | Tamanho | Qtde
-----------------------------------------------------------
| ADM | Grande | count(Y = ADM e X = Grande)
| | Pequena | count(Y = ADM e X = Pequena)
-----------------------------------------------------------
2 - Eu vi que na hora de gerar o relatório, normalmente eles normalmente utilizando um objeto do tipo Connection e ai tem que recolocar todas as configurações. E minha duvida é sem tem como aproveitar o hibernate
Vlw pela ajuda
Abss
Mais uma duvida:
3 - Eu fiz 3 relatorios e queria saber se tem como eu junta-los em um arquivo só e como faço?
Obrigado
Crie agrupamentos no iReport,
menu Visualizar, Agrupamentos do Relatório… e da a sua expressão que deseja agrupar, nesse caso o field Area
Tendi, vou tentar assim que chegar em casa, valew
E como faço para unir varios relatórios, no caso 4, em um só??
Valew
Abss
Não entendi o que quer fazer,
mas pelo visto só com subrelatórios mesmo.
Eu tenho 4 relatórios, em vez de criar 4 PDFs e mostrar p o usuario, eu quero um só.
Eu tentei inserir mas ele exibe um resultado e o relatório, um usuario e o mesmo relatório.
Eu tentei criar um vazio e inserir os 4 relatórios nele, mas ele tava dando um erro de nopage
Na barra de ferramentas lá em cima tem inserir subrelatório, depois selecione Usando um relatório existente, e selecione o seu jasper