in my mind exists more simple way for this report:

1. u create only 1 query with 3 queries and UNION
2. each select in union in WHERE constraction has:

select .....
where :P_NB_REPORT = 1 and
( ... your where for 1 case ...)
UNION
select .....
where :P_NB_REPORT = 2 and
( ... your where for 2 case ...)
UNION
select .....
where :P_NB_REPORT = 2 and
( ... your where for 2 case ...)

and thats it.

good luck.