USE InsideTSQL2008;
SELECT custid, [2006], [2007],[2008]
FROM
(SELECT YEAR(orderdate) AS anno, custid, freight
FROM Sales.Orders
)
AS SourceTab
PIVOT
(
sum(freight)
FOR
[anno]
IN ( [2006], [2007],[2008])
) AS pivotTab
ORDER BY custid;
GO
Il codice postato funziona ma mi chiedo cosa si possa fare per evitare di inserire il campo anno: ogni volta che passa un anno bisogna aggiungere [numero anno] ...se non ho capito male !
Ho provato ad inserire una select nella clausola IN () ma niente...non cè un metodo per ovviare al problema
thsk