Consulta Referencias Cruzadas. Función PIVOT
En SQL Server no existe la consulta de referencias cruzadas como en Access, pero se puede conseguir el mismo resultado gracias a hacer Select anidados y la sunción PIVOT.
Ejemplo con una tabla de Clientes y el resumen de facturas realizadas
Select Código,Nombre, [1] Enero, [2] Febrero, [3] Marzo, [4] Abril, [5] Mayo, [6] Junio,[7] Julio, [8] Agosto, [9] Septiembre, [10] Octubre, [11] Noviembre, [12] Diciembre From (
select Resu.CodC as Código, Client.Nom as Nombre, Month(Resu.Fecha)
as Mes, Resu.Total as SumaTotal From [Resu] Inner Join Client on
Resu.CodC = Client.Cod where Year(Resu.fecha)=2015)
V PIVOT (sum(SumaTotal) For Mes In ([1], [2], [3], [4], [5],
[6], [7], [8], [9], [10], [11], [12]) ) as PT