Estoy intentando entender como funciona la clausula PIVOT en sql server
2005, y con los ejemplos que hay en los libros en pantalla no consigo
hacerlo, por ejemplo el sistema que utilizo en 2000 y que sigo utilizando en
2005 porque no se como hacerlo con PIVOT.
SELECT CLIENTE,
CASE WHEN ANO=@ANO1 THEN VENTAS ELSE 0 END AS VENTAS1,
CASE WHEN ANO=@ANO2 THEN VENTAS ELSE 0 END AS VENTAS2,
CASE WHEN ANO=@ANO3 THEN VENTAS ELSE 0 END AS VENTAS3,
CASE WHEN ANO=@ANO4 THEN VENTAS ELSE 0 END AS VENTAS4,
CASE WHEN ANO=@ANO5 THEN VENTAS ELSE 0 END AS VENTAS5,
CASE WHEN ANO=@ANO1 THEN DEPOSITO ELSE 0 END AS DEPOSITO1,
CASE WHEN ANO=@ANO2 THEN DEPOSITO ELSE 0 END AS DEPOSITO2,
CASE WHEN ANO=@ANO3 THEN DEPOSITO ELSE 0 END AS DEPOSITO3,
CASE WHEN ANO=@ANO4 THEN DEPOSITO ELSE 0 END AS DEPOSITO4,
CASE WHEN ANO=@ANO5 THEN DEPOSITO ELSE 0 END AS DEPOSITO5
FROM
(SELECT CLIENTE,ANO,SUM(VENTAS) AS VENTAS,SUM(DEPOSITO) AS DEPOSITO FROM
VT_FACTURASCLIENTE (NOEXPAND)
WHERE ANO>=@ANO1 AND ANO<=@ANO5 GROUP BY CLIENTE,ANO) A
¿Como seria esta sentencia con la calusula PIVOT?
Saludos.
Leer las respuestas