Sélection de plusieurs colonnes à partir d'une sous-requête MySQL
Dans MySQL, il peut être difficile de récupérer plusieurs colonnes de la même table à l'aide d'une sous-requête. Pour résoudre ce problème, explorons différentes approches :
Utiliser une table virtuelle
Au lieu de créer plusieurs sous-requêtes, vous pouvez créer une table virtuelle à l'aide d'une sous-requête. La syntaxe de cette approche est :
SELECT * FROM (SELECT col1, col2, ... FROM original_table) AS virtual_table
En utilisant cette table virtuelle dans une jointure, vous pouvez récupérer plusieurs colonnes de la table spécifiée en une seule requête.
Exemple de code :
SELECT a.attr, b.id, b.trans, b.lang FROM attribute a JOIN ( SELECT id, translation AS trans, language AS lang, attribute FROM attributeTranslation ) AS b ON (a.id = b.attribute AND b.lang = 1)
Utilisation de la syntaxe JOIN
Une autre option consiste à utiliser la syntaxe JOIN pour combiner plusieurs tables, y compris la table d'origine et la table virtuelle. Cette approche vous permet de récupérer plusieurs colonnes des tables jointes.
Exemple de code :
SELECT a.attr, b.id, b.trans, b.lang FROM attribute a JOIN attributeTranslation b ON (a.id = b.attribute AND b.lang = 1)
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!