
Maîtriser les résultats triés dans les requêtes MS Access UNION
La combinaison de données de plusieurs tables à l'aide d'une requête UNION dans MS Access présente souvent des défis lors de la tentative de tri du résultat final. Une approche naïve comme celle-ci :
<code class="language-sql">SELECT table1.field1 FROM table1 ORDER BY table1.field1 UNION SELECT table2.field1 FROM table2 ORDER BY table2.field1</code>
ne produira pas le résultat trié souhaité dans le moteur de base de données MS Access Jet.
La solution réside dans le placement stratégique de la clause ORDER BY. Au lieu de l’appliquer à l’ensemble de la requête UNION, appliquez-la à chaque instruction SELECT individuelle au sein de l’union. Ceci est réalisé en créant des sous-requêtes :
<code class="language-sql">SELECT * FROM ( SELECT table1.field1 FROM table1 ORDER BY table1.field1 ) AS DUMMY_ALIAS1 UNION ALL SELECT * FROM ( SELECT table2.field1 FROM table2 ORDER BY table2.field1 ) AS DUMMY_ALIAS2</code>
Cette requête révisée utilise deux sous-requêtes, chacune avec sa propre clause ORDER BY, garantissant que chaque ensemble de données est trié indépendamment avant d'être combiné avec UNION ALL. Les clauses AS DUMMY_ALIAS1 et AS DUMMY_ALIAS2 fournissent des alias pour les sous-requêtes, qui sont nécessaires au bon fonctionnement de cette approche dans MS Access. L'union résultante présente ensuite les données fusionnées et triées. Notez l'utilisation de UNION ALL, qui inclut toutes les lignes, contrairement à UNION qui supprime les doublons.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
La différence entre bond0 et bond1
La différence entre l'hibernation et le sommeil de l'ordinateur
niveau d'isolement des transactions par défaut de MySQL
utilisation de la fonction de tri de Python
Introduction à la signification de javascript
Le concept m2m dans l'Internet des objets
commutation de carte graphique y460
Quelles sont les plateformes de trading de devises virtuelles ?