Est-il possible d'avoir plusieurs pivots en utilisant la même colonne pivot en utilisant SQL Server

Je suis confronté au défi suivant. J'ai besoin de tourner la table de données à deux reprises au cours de la même colonne.
Voici une capture d'écran des données.

Est-il possible d'avoir plusieurs pivots en utilisant la même colonne pivot en utilisant SQL Server

Je veux avoir une ligne pour chaque ID de l'Élément contenant à la fois la valeur d'achat et la valeur de vente pour chaque année.
J'ai essayé de faire cela en sélectionnant le "an" de la colonne deux fois, la mise en forme un peu de sorte que chaque vente année, obtient le préfixe avec un "S" et chaque achat, l'année commence par un "P", et à l'aide de 2 pivots pour tourner autour de la 2 année de colonnes. Voici la requête SQL (utilisé dans SQL Server 2008):

SELECT [Item ID], 
        [P2000],[P2001],[P2002],[P2003],
        [S2000],[S2001],[S2002],[S2003]
FROM 
(

SELECT [Item ID]
      ,'P' + [Year] AS YearOfPurchase
      ,'S' + [Year] AS YearOfSelling

  ,[Purchasing value]
  ,[Selling value]
  FROM [ItemPrices]
) AS ALIAS

PIVOT 
(
MIN ([Purchasing value]) FOR [YearOfPurchase] in ([P2000],[P2001],[P2002],[P2003])
)
AS pvt

PIVOT 
(
MIN ([Selling value]) FOR [YearOfSelling] in ([S2000],[S2001],[S2002],[S2003])
)
AS pvt2

Le résultat n'est pas exactement ce que j'espérais (voir image ci-dessous):

Est-il possible d'avoir plusieurs pivots en utilisant la même colonne pivot en utilisant SQL Server

Comme vous pouvez le voir, il y a encore plus d'une ligne pour chaque ID de l'élément. Est-il un moyen de réduire le nombre de lignes à exactement un élément par élément? De sorte qu'il ressemble un peu à la Excel capture d'écran ci-dessous?

Est-il possible d'avoir plusieurs pivots en utilisant la même colonne pivot en utilisant SQL Server

source d'informationauteur Rob Vermeulen