Comment convertir des colonnes de lignes dans sql server
Veuillez considérer ce tableau:
ID Page Line C01 C02 C03
---------------------------------------------------------------------
1 122 11 1 0 1
1 123 11 1 1 1
1 124 12 0 0 0
1 125 16 1 0 1
1 127 11 0 1 0
Je veux convertir ce tableau à celui-ci:
ID Page Line City Value
-----------------------------------------------------------
1 122 11 C01 1
1 122 11 C02 0
1 122 11 C03 1
1 123 11 C01 1
1 123 11 C02 1
1 123 11 C03 1
...
Comment je peux le faire de la bonne façon?
OriginalL'auteur Arian | 2012-07-04
Vous devez vous connecter pour publier un commentaire.
Utilisation UNPIVOT. Essayez quelque chose comme:
Où "SourceTable' est votre source nom de la table. (Note: je ne peux pas tester cela en ce moment, donc il ne peut pas être tout à fait exact.)
Plus de détails ici: http://msdn.microsoft.com/en-us/library/ms177410(v=sql.105).aspx
OriginalL'auteur Bennor McCarthy
Pivot & UnPivot permettra de résoudre le problème 🙂
suivez les liens:
OriginalL'auteur Naval
Vous pouvez atteindre cet objectif en faisant quelque chose comme cela dans Linq to sql
Est Unpivot (Pas de Pivot) des fonctionnalités disponibles dans Linq to SQL? Comment?
OriginalL'auteur Pravin Pawar
Faire une auto-jointure, une fois pour chaque 1+n-ième colonne. Et créer un tableau cartésien.
Auto-jointure est se joindre à la même table, pour lui-même. Match par id, page et ligne.
OriginalL'auteur Ondra Žižka
Ci-dessous la requête devrait faire votre exigence.
Merci Andriy pour obtenir des éclaircissements. L'apprécier.
OriginalL'auteur Senthil