2009-09-23 6 views
1

Je souhaite pouvoir faire pivoter les résultats d'une requête SQL afin que les résultats soient renvoyés en une seule ligne avec plusieurs colonnes au lieu de renvoyer les résultats dans une série de lignes. Par exemple avec le tableau suivant.Comment puis-je faire pivoter les résultats d'une requête dans SQL Server 2005?

Create Table TestData 
(
things varchar(25) 
) 

Insert into TestData values ('Thing1') 
Insert into TestData values ('Thing2') 
Insert into TestData values ('Thing3') 
Insert into TestData values ('Thing4') 

Je voudrais une instruction select comme 'Select choses TestData'

retourner quelque chose comme Thing1 Thing2 Thing3 Thing4

plutôt que

  1. Thing1
  2. Thing2
  3. Thing3
  4. Thing4

Merci à l'avance pour l'aide.

Mise à jour:

Après avoir vu la recommandation Gratzy à utiliser Pivot J'ai trouvé que je peux obtenir le résultat souhaité en ajoutant une colonne d'identité à la table comme si.

Create Table TestData 
(
id int identity, 
    things varchar(25) 
) 

puis en cours d'exécution ce qui suit. SELECT * DE TestData PIVOT ( MAX (choses) POUR [ID] IN ([1], [2], [3], [4]) ) AS Résultat

Répondre

Questions connexes