Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[MYSQL4] union et order by

1 réponse
Avatar
Bruno
Excusez-moi d'insister, mais j'aimerais bien arriver à trier la liste de
mes résultats.

voici la requête que je fais :
(select CONCAT(AutNom,' ',AutPrenom) as TRI, 'MUSICIEN' as TYPE from
auteurs ORDER BY TRI limit 2) union (select ArtTitre as TRI,
'DISQUE' as TYPE from articles ORDER BY TRI limit 2) ORDER BY
TRI;

j'obtiends un résultat qui ressemble à cela :

AFTER DARK , DISQUE
CABELO DE MILHO, DISQUE
ABADIE CLAUDE , MUSICIEN
BAILEY EDWARD , MUSICIEN

alors que je voudrais obtenir ceci :

ABADIE CLAUDE , MUSICIEN
AFTER DARK , DISQUE
BAILEY EDWARD , MUSICIEN
CABELO DE MILHO, DISQUE

Comment je peux faire ?

Merci pour vos réponses
Bruno

1 réponse

Avatar
Fred BROUARD - SQLpro
tout simplement :

select CONCAT(AutNom,' ',AutPrenom) as TRI,
'MUSICIEN' as TYPE
from auteurs
union
select ArtTitre as TRI,
'DISQUE' as TYPE
from articles
ORDER BY TRI

Il ne doit y avoir en principe qu'une seule clause de tri quelque soit la
complexité de la requête puisque le tri porte sur les résultats !

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************


Bruno a écrit:
Excusez-moi d'insister, mais j'aimerais bien arriver à trier la liste de
mes résultats.

voici la requête que je fais :
(select CONCAT(AutNom,' ',AutPrenom) as TRI, 'MUSICIEN' as TYPE from
auteurs ORDER BY TRI limit 2) union (select ArtTitre as TRI,
'DISQUE' as TYPE from articles ORDER BY TRI limit 2) ORDER BY
TRI;

j'obtiends un résultat qui ressemble à cela :

AFTER DARK , DISQUE
CABELO DE MILHO, DISQUE
ABADIE CLAUDE , MUSICIEN
BAILEY EDWARD , MUSICIEN

alors que je voudrais obtenir ceci :

ABADIE CLAUDE , MUSICIEN
AFTER DARK , DISQUE
BAILEY EDWARD , MUSICIEN
CABELO DE MILHO, DISQUE

Comment je peux faire ?

Merci pour vos réponses
Bruno