1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| select rq1.col1
, rq2.col2
, ...
, rqn.coln
from entiers ent
left join
( select row_number() over (order by critere_1) lg_1
, colonne_1
from requete1
) rq1
on ent.num = rq1.lg_1
left join
( select row_number() over (order by critere_2) lg_2
, colonne_2
from requete2
) rq2
on ent.num = rq2.lg_2
...
left join
( select row_number() over (order by critere_3) lg_n
, colonne_3
from requete3
) rq2
on ent.num = rqn.lg_n
where coalesce(rq1.lg_1, rq2.lg_2, ..., rqn.lg_n, 0) > 0
; |
Partager