Maison > base de données > tutoriel mysql > Comment simuler UNPIVOT dans Microsoft Access 2010 ?

Comment simuler UNPIVOT dans Microsoft Access 2010 ?

Linda Hamilton
Libérer: 2025-01-11 16:16:42
original
1052 Les gens l'ont consulté

How to Simulate UNPIVOT in Microsoft Access 2010?

Émulation d'UNPIVOT dans Access 2010

MS SQL Server 2005 prend en charge la fonction UNPIVOT, mais pas Access 2010. Comment utiliser les propres fonctions d'Access pour obtenir des effets similaires ? Par exemple, disons que nous avons une table :

<code><h2>ID | A | B | C | Key 1 | Key 2 | Key 3</h2><p>1 | x | y | z |     3 |   199 |   452<br></br>2 | x | y | z |    57 |   234 |   452<br></br></p></code>
Copier après la connexion

Nous voulons convertir ceci en :

<code><h2>ID | A | B | C | Key</h2><p>1 | x | y | z |   3<br></br>2 | x | y | z |  57<br></br>1 | x | y | z | 199<br></br>2 | x | y | z | 234<br></br>2 | x | y | z | 452<br></br></p></code>
Copier après la connexion

Où Key 452 est une valeur répétée. Actuellement, je convertis en OLEDB/ATL C. Bien que ce soit assez rapide, je suis toujours curieux de savoir comment le faire plus efficacement dans Access 2010. Quelle est l’instruction SQL la plus efficace ?

Solution :

Vous pouvez utiliser la requête SQL suivante :

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;
Copier après la connexion

...Après avoir exécuté cette requête (en supposant que votre exemple de table s'appelle tblUnpivotSource), vous obtiendrez l'ensemble de résultats suivant :

<code><br></br>ID | A | B | C | key_field<hr></hr><p>1 | x | y | z |         3<br></br>2 | x | y | z |        57<br></br>1 | x | y | z |       199<br></br>2 | x | y | z |       234<br></br>1 | x | y | z |       452<br></br>2 | x | y | z |       452<br></br></p></code>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal