Requête de base de données à tables multiples pour la corrélation d'ID
Vous avez rencontré un défi en interrogeant une base de données où les hôtes et les modèles sont stockés dans la même table . Pour résoudre ce problème, vous pouvez utiliser une combinaison de jointures internes avec des alias pour extraire les informations souhaitées.
La requête suivante peut être utilisée pour récupérer les noms d'hôte et de modèle en fonction de la colonne ID :
SELECT h1.name as host_name, h2.name AS template_name FROM hosts_template AS t JOIN hosts AS h1 ON t.hostid = h1.hostid JOIN hosts AS h2 ON t.hosttemplateid = h2.hostid
Dans cette requête, la table hosts_template reçoit l'alias t. Deux alias supplémentaires, h1 et h2, sont utilisés pour la table des hôtes. L'alias h1 est utilisé pour récupérer le nom d'hôte, tandis que h2 récupère le nom du modèle.
Les instructions de jointure interne connectent les ID d'hôte et de modèle aux colonnes host_name et template_name, respectivement. La requête résultante renvoie les noms d'hôte et de modèle pour chaque entrée de la table hosts_template.
En utilisant des alias et plusieurs jointures internes, vous pouvez interroger efficacement les données de plusieurs tables même si elles partagent la même colonne d'ID. Cette technique permet de récupérer des colonnes spécifiques de différentes tables et de les combiner pour obtenir les informations souhaitées.
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!