Maison >base de données >tutoriel mysql >Comment sélectionner des données dans plusieurs tables avec des colonnes identiques et ambiguës ?

Comment sélectionner des données dans plusieurs tables avec des colonnes identiques et ambiguës ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-29 15:52:15144parcourir

How to Select Data from Multiple Tables with Identical, Ambiguous Columns?

Joindre des tables avec des colonnes ambiguës : sélectionner des données à partir de plusieurs tables répliquées

Votre défi consistant à récupérer des données à partir de plusieurs tables avec une structure identique mais séparées pour la localisation soulève une ambiguïté lors de la spécification de colonnes dans une clause WHERE. MySQL ne peut pas déterminer à quelle table faire référence lors de la comparaison d'une colonne ambiguë, telle que « genre » dans votre requête.

Solution : utilisez l'opérateur UNION

Pour résoudre cette ambiguïté , vous pouvez utiliser l'opérateur UNION. UNION combine les résultats de deux ou plusieurs instructions SELECT, créant ainsi une table virtuelle avec l'union de toutes les lignes des tables individuelles.

Requête modifiée :

(SELECT * FROM us_music WHERE `genre` = 'punk')
UNION
(SELECT * FROM de_music WHERE `genre` = 'punk')

Explication :

Cette requête modifiée sépare les instructions SELECT pour chaque table impliquée. Chaque sous-requête récupère les données d'une table spécifique, garantissant ainsi qu'il n'y a aucune ambiguïté dans la référence de la colonne « genre ». L'opérateur UNION combine ensuite les résultats en un seul ensemble de résultats, vous fournissant les données souhaitées provenant de plusieurs tables.

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