Como juntar as buscas?

Olá, tenho que gerar um relatório meio complicado, eu consegui resolver os “problemas” do relatorio individualmente so que quando fui juntar as buscas complico minha vida.

nesse relatório tem que ter a numeração de selos utilizados o inicio é o fim. entao eu resolvi da seguinte forma.

[code]SELECT
MIN(os_dados_extintor.SELO) AS MenorSeloOs,
MAX(os_dados_extintor.SELO) AS MaiorSeloOs

FROM ordem_servico ordem_servico INNER JOIN os_dados_extintor os_dados_extintor ON
ordem_servico.ID = os_dados_extintor.ordem_servico_ID,
WHERE
ordem_servico.DTA_ENTRADA BETWEEN $P{dataInicio} AND $P{dataFim}[/code]

tem que mandar o selo que tem em estoque!!! que é em buscado de outra tabela.

[code]SELECT
MIN(selo.NUMERO) AS MenorSelo,
MAX(selo.NUMERO) AS MaiorSelo

FROM selo selo

WHERE
selo.STATUS LIKE false[/code]
.
.
.
e por fim preencher o relatorio com as ordem de serviço e as quantidades de tipos feito em cada ordem de serviço.

[code]SELECT
os_dados_extintor.TIPO, COUNT(*) AS contagem

FROM
os_dados_extintor GROUP BY os_dados_extintor.TIPO[/code]

entao o corpo do relatorio vai ter os seguintes itens:

dia, Nº ordem serviço, Nº venda, QTDES-Tipo’A’, Tipo’B’, Tipo’C’, Tipo’D’, Tipo’E’, Total, Selo Usado nessa Ordem Serviço, TotalSelo.

Creio que vao precisar da estrutura, segue abaixo.

Olha agradeço a atenção de todos, e ficarei grato pela ajuda…