Maison >base de données >tutoriel mysql >Comment combiner plusieurs instructions SELECT avec LIMIT 1 en SQL ?

Comment combiner plusieurs instructions SELECT avec LIMIT 1 en SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-24 12:52:11576parcourir

How to Combine Multiple SELECT Statements with LIMIT 1 in SQL?

Combinaison de plusieurs instructions SELECT

Comme vous l'avez mentionné, vous êtes confronté à un problème lorsque vous tentez de combiner plusieurs instructions SELECT qui limitent chacune les résultats sur une seule ligne. Le défi se pose lors de l'utilisation de UNION ALL car la clause LIMIT semble perturber le processus d'union.

Pour résoudre ce problème, vous pouvez utiliser des parenthèses pour délimiter chaque instruction SELECT individuelle. Cela garantit que l'union est effectuée correctement, car la documentation de UNION indique explicitement que les clauses ORDER BY et LIMIT doivent être placées entre parenthèses pour s'appliquer à la sous-expression plutôt qu'au résultat de l'union.

Voici comment vous pouvez modifier votre requête :

(SELECT result FROM foo.table LIMIT 1)
UNION ALL
(SELECT result FROM bar.table LIMIT 1)
UNION ALL
(SELECT result FROM doo.table LIMIT 1)

Cette syntaxe garantit que chaque sous-instruction est traitée séparément, avec la clause LIMIT appliquée aux résultats individuels. L'union est ensuite effectuée sur les résultats de chaque ligne, vous donnant une seule colonne avec le nombre attendu de lignes correspondant aux noms de schéma.

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