Obtention de la fonctionnalité UNPIVOT dans Microsoft Access 2010
La fonction UNPIVOT de Microsoft SQL Server remodèle efficacement les données d'un format large à un format long. Bien qu'Access 2010 n'offre pas d'équivalent UNPIVOT direct, nous pouvons reproduire efficacement son comportement à l'aide de SQL.
Imaginez une table avec plusieurs colonnes d'attributs (comme A, B, C) liées à différentes clés (Clé 1, Clé 2, Clé 3). L'objectif est de restructurer ces données pour que chaque paire attribut-clé occupe sa propre ligne.
Une UNION ALL
requête apporte une solution :
<code class="language-sql">SELECT ID, A, B, C, [Key 1] AS key_field FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 2] AS key_field FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 3] AS key_field FROM tblUnpivotSource;</code>
Cette requête fusionne les données de chaque colonne clé dans une table unifiée. Chaque ligne résultante signifie une paire attribut-clé :
ID | A | B | C | key_field |
---|---|---|---|---|
1 | x | y | z | 3 |
2 | x | y | z | 57 |
1 | x | y | z | 199 |
2 | x | y | z | 234 |
1 | x | y | z | 452 |
2 | x | y | z | 452 |
Il est important de noter que les situations avec des valeurs de clé en double (telles que "452" dans l'exemple) généreront plusieurs lignes avec des clés identiques.
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!