Maison >base de données >tutoriel mysql >Comment sélectionner des données dans plusieurs tables avec des colonnes identiques et ambiguës ?
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!