Union et Order By

Le
ejc
Bonjour à tous,
j'ai créé cette requête
(select id, nom from table1 order by nom) union all (select id, nom from
table2 order by nom)
pensant pouvoir afficher les noms de la table1 en ordre croissant PUIS les
noms de la table2 en ordre croissant mais je n'ai pas le résultat
escompté.
Note le champ Id est une clé primaire, numéro auto
Merci d'avance de vos suggestions
ejc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Wendake
Le #18479381
ejc a écrit :
Bonjour à tous,
j'ai créé cette requête
(select id, nom from table1 order by nom) union all (select id, nom from
table2 order by nom)
pensant pouvoir afficher les noms de la table1 en ordre croissant PUIS les
noms de la table2 en ordre croissant... mais je n'ai pas le résultat
escompté.
Note le champ Id est une clé primaire, numéro auto
Merci d'avance de vos suggestions...
ejc





Tu peux ajouter un valeur que tu utilises pour forcer le tri.
SELECT "A", id, nom
from table1
order by 1, 3
union
SELECT "B", id, nom
from table2
order by 1, 3
ejc
Le #18481061
Merci, ça roule...
1-Une question quand même : pourquoi Order by 1,3 ? que représentent 1 et 3
2-Et si on souhaite séparer les 2 listes par, exemple, "--------"
Merci,
ejc
"Wendake"
ejc a écrit :
Bonjour à tous,
j'ai créé cette requête
(select id, nom from table1 order by nom) union all (select id, nom
from table2 order by nom)
pensant pouvoir afficher les noms de la table1 en ordre croissant PUIS
les noms de la table2 en ordre croissant... mais je n'ai pas le résultat
escompté.
Note le champ Id est une clé primaire, numéro auto
Merci d'avance de vos suggestions...
ejc





Tu peux ajouter un valeur que tu utilises pour forcer le tri.
SELECT "A", id, nom
from table1
order by 1, 3
union
SELECT "B", id, nom
from table2
order by 1, 3


ejc
Le #18481181
Je viens de comprendre (sorry...) le forçage par "A", "B", etc. et le "ORDER
BY"
par exemple :
SELECT "A", id1, nom1 from table1 order by 1, 3
union
select "B",0,"-----" from table1 order by 1,3
union
SELECT "C", id2, nom2
from table2
order by 1, 3
fonctionne très bien et répond à ma demande
Dans la mesure où Id1 et Id2 sont différents de 0, il sera simple
d'intercepter le clic sur la ligne "----"
Merci encore,
ejc
"ejc"
Merci, ça roule...
1-Une question quand même : pourquoi Order by 1,3 ? que représentent 1 et
3
2-Et si on souhaite séparer les 2 listes par, exemple, "--------"
Merci,
ejc
"Wendake"
ejc a écrit :
Bonjour à tous,
j'ai créé cette requête
(select id, nom from table1 order by nom) union all (select id, nom
from table2 order by nom)
pensant pouvoir afficher les noms de la table1 en ordre croissant PUIS
les noms de la table2 en ordre croissant... mais je n'ai pas le résultat
escompté.
Note le champ Id est une clé primaire, numéro auto
Merci d'avance de vos suggestions...
ejc





Tu peux ajouter un valeur que tu utilises pour forcer le tri.
SELECT "A", id, nom
from table1
order by 1, 3
union
SELECT "B", id, nom
from table2
order by 1, 3






Publicité
Poster une réponse
Anonyme