L'opération "inverse" est un outil important pour reconstruire des données tabulaires. Elle peut convertir les données du format orienté colonne au format orienté ligne. Un scénario courant consiste à extraire les données et les noms de colonnes de la table d'origine.
Considérez le tableau suivant appelé StudentMarks, qui suit les performances des élèves dans différentes matières :
姓名 | 数学 | 科学 | 英语 |
---|---|---|---|
Tilak | 90 | 40 | 60 |
Raj | 30 | 20 | 10 |
Le résultat souhaité est un tableau reconstitué à trois colonnes : nom, sujet et score :
姓名 | 科目 | 分数 |
---|---|---|
Tilak | 数学 | 90 |
Tilak | 科学 | 40 |
Tilak | 英语 | 60 |
Pour y parvenir, nous pouvons utiliser l'opération "inverser" comme indiqué ci-dessous :
<code class="language-sql">select u.name, u.subject, u.marks from student s unpivot ( marks for subject in (Maths, Science, English) ) u;</code>
Cette requête inverse avec succès les données de la table StudentMarks tout en préservant les informations de nom et de compte. La clause "FOR" spécifie les noms de colonnes à partir desquelles les données seront extraites.
Comme vous l'avez mentionné, votre requête d'origine a réussi à inverser les valeurs de nom et de fraction, mais il manquait la colonne de compte. La requête modifiée résout ce problème en incluant la colonne de compte dans la liste de sélection finale.
Cette solution offre un moyen flexible de reconstruire des données tabulaires, permettant l'extraction des valeurs de données et des noms de colonnes correspondants.
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!