Bonjour à tous,
Je suis sous Oracle 10g. Je souhaiterais savoir si un SELECT fait sur un SELECT contenant une clause ORDER BY peut changer le tri initial.
Plus concrètement, voici ce que j'essaie de faire :
Ex. :
Je fais plusieurs SELECT en UNION avec un champ TRI que j'initialise dans chaque requête. Les 2 dernières requêtes peuvent retourner le même enregistrement, auquel cas, je ne souhaite en conserver qu'un, d'où le TRI ayant la même valeur (= 2) dans ce cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT code, libelle FROM ( SELECT DISTINCT * FROM ( SELECT code, libelle, 1 AS tri FROM matable1 UNION SELECT code, libelle, 2 AS tri FROM matable2 UNION SELECT code, libelle, 2 AS tri FROM matable3 ) ORDER BY code, tri );
Ma question est donc : le SELECT qui interroge le SELECT DISTINCT trié va-t-il me retourner un résultat sans changer le tri du SELECT DISTINCT ou bien au contraire cela peut-il se produire ?
Merci d'avance pour votre aide.
Bonne journée.
Partager