Maison >base de données >tutoriel mysql >Comment puis-je combiner efficacement les résultats sur une seule ligne de plusieurs requêtes SELECT en une seule colonne ?

Comment puis-je combiner efficacement les résultats sur une seule ligne de plusieurs requêtes SELECT en une seule colonne ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-19 12:31:10612parcourir

How Can I Efficiently Combine Single-Row Results from Multiple SELECT Queries into One Column?

Fusion de plusieurs requêtes SELECT

Dans le but d'extraire des données de nombreux schémas, l'utilisateur a utilisé Excel pour générer un tableau d'instructions SELECT pour une base de données hébergeant un grand nombre de schémas identiques. Chaque requête récupère un seul résultat dans le but de les combiner dans une seule colonne avec plusieurs lignes représentant les schémas distincts.

L'approche initiale impliquant des requêtes SELECT séquentielles a entraîné la suppression des lignes suivantes, malgré l'utilisation de UNION. TOUS. En effet, la clause LIMIT 1 restreint chaque sous-requête à une seule ligne, ce qui empêche UNION ALL de combiner les résultats.

Pour atténuer ce problème, la mise entre parenthèses de chaque sous-instruction garantit la clarté syntaxique et permet une application correcte de LIMIT :

(SELECT result FROM tbl1 LIMIT 1)
UNION ALL
(SELECT result FROM tbl2 LIMIT 1)

Comme indiqué dans la documentation UNION, les sous-instructions entre parenthèses peuvent avoir ORDER BY et LIMIT clauses qui leur sont appliquées. Ce faisant, les clauses sont appliquées au résultat de la sous-instruction plutôt qu'à l'opération UNION globale. Cela permet de récupérer un seul résultat de chaque schéma tout en les combinant dans une seule sortie de colonne.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn