Je n'arrive pas à essayer de dériver le tableau suivant.Table de serveur sans table SQL Server
| opération | ... autres colonnes ... | A1 | B1 | C1 | A2 | B2 | C2 | A3 | B3 | C3 | ... | Dans quelque chose comme ça ...
| opération | ... autres colonnes ... | AValue | BValue | CValue |
En ce moment im faire comme ça
SELECT operation , ...other columns , Avalue, BValue , CValue
FROM (SELECT operation, ...other columns, A1, B1, C1
FROM MyTable
UNION ALL
SELECT operation, ...other columns, A2, B2, C2
FROM MyTable
UNION ALL
SELECT operation, ...other columns, A3, B3, C3
FROM MyTable
)
Le problème est que j'ai 30 séries de ABC, donc 30 syndicats. J'ai essayé d'utiliser unpivot mais je n'ai pas réussi à trouver la bonne solution, c'est la première fois que j'essaie de l'utiliser.
Ceci est ma tentative usign UNPIVOT
SELECT opration
, ...other columns ...
,AValue
,BValue
,CValue
FROM MyTable
UNPIVOT ([AValue] FOR XX IN (A1,A2,A3,...,A30)) AS upv1
UNPIVOT ([BValue] FOR yy IN (B1,B2,B3,...,B30)) AS upv2
UNPIVOT ([CValue] FOR ZZ IN (C1,C2,C3,...,C30)) AS upv3
Le problème est que je ne comprends pas pourquoi est de retour des millions de lignes, quand l'attendu devrait être d'environ 10 km. Des idées?
EDIT: Je viens de réaliser que chaque UNPIVOT fonctionne avec le jeu de résultats de l'instruction unpivot précédente qui cause l'explosion des données.
Merci