connect by prior et siblings BY name
Bonjour à tous,
J'ai crée une requete mais elle fonctionne pas comme je veux, sauriez vous dire pourquoi :
Code:
1 2 3 4 5 6
| select lpad(' ',12*(level-1))||e.name as nom, e.derived_from as provient_de,e.id
from latable e
start with e.id in
(select distinct id from latable where
((lower(eqmobject.name) like '%machine1%')or(lower(eqmobject.name) like '%machine2%')or(lower(eqmobject.name) like '%machine3%')) and type=80)
connect by prior e.id=e.derived_from ORDER siblings BY name; |
tout fonctionne bien seulement j'obitiens
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
Machine 1 hierar1 racine2
Machine 11 racine2 racine21
Machine 12 racine2 racine22
Machine 13 racine2 racine23
Machine 2 hierar1 racine3
Machine 21 racine3 racine31
Machine 22 racine3 racine32
Machine 23 racine3 racine33
Machine 3 hierar1 racine4
Machine 21 racine4 racine41
Machine 22 racine4 racine42
Machine 23 racine4 racine43
Machine 2 hierar2 racine 5 |
Pourquoi machine 2 se place à la fin et non pas avant machine 3.
Oracle range par hierar et non pas machine.
D'avance merci de votre aide,