Interrogation de plusieurs tables avec une structure identique : MySQL
Lorsque vous travaillez avec des bases de données, il est courant de rencontrer des tables avec des structures de données identiques mais des données distinctes . Cela peut être dû à des facteurs tels que la localisation ou le partage des données. La récupération de données dans de telles tables peut présenter des défis, en particulier lors du tri des résultats en fonction de colonnes spécifiques définies par l'utilisateur.
Un problème courant survient lors de l'utilisation d'une simple instruction SELECT pour joindre des données de plusieurs tables, comme le montre l'exemple. fourni. MySQL interprète cette requête comme une jointure ambiguë, car il ne peut pas déterminer quelle colonne de genre de table doit être utilisée pour la condition de filtrage.
La solution réside dans l'utilisation de l'opérateur UNION de MySQL. La clause UNION vous permet de combiner les résultats de plusieurs instructions SELECT en un seul jeu de résultats. Dans ce cas, vous pouvez utiliser UNION pour ajouter les résultats de chaque table dans un seul ensemble de résultats triés :
(SELECT * from us_music WHERE `genre` = 'punk') UNION (SELECT * from de_music WHERE `genre` = 'punk')
En utilisant UNION, vous pouvez récupérer des données sur plusieurs tables tout en appliquant une condition de filtrage commune et en conservant l'ordre de tri souhaité.
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!