hola,
un ejemplo simple para el uso de
PIVOT mostrando las ventas de los clientes desglosadas por meses es:
Código SQL
[-]SELECT cliente, nombre, [1] as enero, [2] as febrero, [3] as marzo, [4] as abril, [5] as mayo, [6] as junio, [7] as julio, [8] as agosto, [9] as septiembre, [10] as octubre, [11] as noviembre, [12] as diciembre
FROM (
select cliente, clientes.nombre, month(fecha) as mes, importe
from ventas
inner join clientes on clientes.codigo=cliente
) AS datos PIVOT (
sum(importe)
FOR mes IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])
) AS PivotTable
order by nombre;
para el caso en particular de una lista de datos se puede aplicar algo así:
Código SQL
[-]SELECT [1] as c1, [2] as c2, [3] as c3, [4] as c4, [5] as c5, [6] as c6, [7] as c7, [8] as c8, [9] as c9, [10] as c10, [11] as c11, [12] as c12
FROM (
select
row_number() over(order by codigo) as num,
campo
from tabla
) AS datos PIVOT (
min(campo)
FOR num IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])
) AS PivotTable
Importante, creo una especie de indice para las filas numerandolas, y para la tabla pivot, no vale poner solamente el nombre del campo, hay que aplicar alguna función, así que con poner la función min() es suficiente, y como pega en el FOR hay que poner tantos números como lineas pueda tener los datos.
Espero te pueda ser util
Un saludo