2009-09-25 8 views
1

J'ai une tâche qui nécessite la manipulation des données pour transposer les lignes en colonnes. Les données sont stockées dans SQL Server, modèle de base de données relationnelle typique. Je sais que cela peut être fait avec TSQL, mais c'est tellement complexe qu'il y a presque dix groupes de lignes différents à transposer à environ 200 colonnes.est TSQL le bon outil à produit "transposé" requête

Vous vous demandez simplement s'il existe d'autres meilleurs outils pour cela?

Répondre

0

Utilisez-vous SQL Server 2005+? J'ai un stored procedure qui rend assez facile de faire pivoter des données comme ça.

Ce poste comme exemple d'utilisation: SQL query result monthly arrangement

Pour 200 colonnes, vous devriez probablement diviser en groupes logiques et stocker les données pivotés dans des tables temporaires (la procédure stockée fait cela en option) - puis rejoignez les tables temporaires pour votre résultat final. J'ai eu des résultats avec squirrely plus de 147 colonnes avec PIVOT.

Un exemple de source d'installation peut être found here.

0

Sans une question détaillée, il est difficile de dire quelle est la meilleure façon. Cependant, vous pouvez transformer des lignes en colonnes dans TSQL en utilisant PIVOT. Vous voudrez peut-être vérifier et voir si elle peut faire ce dont vous avez besoin.

+0

Rappelez-vous que PIVOT est seulement supporté sur 2005+, et nous ne savons pas quelle version l'OP utilise. –

+0

C'est vrai, mais j'ai pensé que je le mentionnerais. –

0

Je voudrais également essayer de le faire à partir de l'application car cela pourrait fonctionner plus rapidement que de faire pivoter les données. Mais c'est l'une de ces choses dont vous avez probablement besoin d'essayer les deux façons de voir vraiment ce qui est le mieux dans votre cas particulier.

Questions connexes