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 27 28 29 30 31 32 33 34
|
With pays as
( Select 'p1' id_pays, 't1' id_truc from dual
Union ALL
Select 'p1' id_pays, 't2' id_truc from dual
),
region as
(
Select 'r1' id_region, 't1' id_truc from dual
UNION ALL
Select 'r2' id_region, 't1' id_truc from dual
UNION ALL
Select 'r3' id_region, 't2' id_truc from dual
),
dpt as
(
Select 'd1' id_dpt, 't1' id_truc from dual
UNION ALL
Select 'd2' id_dpt, 't3' id_truc from dual
)
Select id_truc from (
Select 1, id_pays, id_truc from pays
Union ALL
Select 2, id_region, id_truc from region
Union ALL
Select 3, id_dpt, id_truc from dpt
)
group by id_truc
having count(*) >= 3
/
ID
--
t1 |
Partager