Ver Mensaje Individual
  #27 (permalink)  
Antiguo 21/11/2013, 09:57
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta en northwind

Algo asi :)

Código SQL:
Ver original
  1. SELECT isnull(SUM([1996-7]),0) AS [1996-Julio],isnull(SUM([1996-8]),0) AS [1996-Agosto],isnull(SUM([1996-9]),0) AS [1996-Septiembre],isnull(SUM([1996-10]),0) AS [1996-Octubre],isnull(SUM([1996-11]),0) AS [1996-Noviembre],isnull(SUM([1996-12]),0) AS [1996-Diciembre],isnull(SUM([1997]),0) AS [1997],isnull(SUM([1998]),0) AS [1998],shipcountry FROM
  2. (
  3.     SELECT
  4.     CASE WHEN datepart(yyyy,OrderDate)=1996 AND datepart(mm,orderdate)=7 THEN SUM(total) END AS [1996-7],
  5.     CASE WHEN datepart(yyyy,OrderDate)=1996 AND datepart(mm,orderdate)=8 THEN SUM(total) END AS [1996-8],
  6.     CASE WHEN datepart(yyyy,OrderDate)=1996 AND datepart(mm,orderdate)=9 THEN SUM(total) END AS [1996-9],
  7.     CASE WHEN datepart(yyyy,OrderDate)=1996 AND datepart(mm,orderdate)=10 THEN SUM(total) END AS [1996-10],
  8.     CASE WHEN datepart(yyyy,OrderDate)=1996 AND datepart(mm,orderdate)=11 THEN SUM(total) END AS [1996-11],
  9.     CASE WHEN datepart(yyyy,OrderDate)=1996 AND datepart(mm,orderdate)=12 THEN SUM(total) END AS [1996-12],
  10.     CASE WHEN datepart(yyyy,OrderDate)=1997 THEN SUM(total) END AS [1997],
  11.     CASE WHEN datepart(yyyy,OrderDate)=1998 THEN SUM(total) END AS [1998],
  12.     ShipCountry
  13.      FROM(
  14.     SELECT
  15.     OrderDate,(UnitPrice * Quantity) AS total, ShipCountry
  16.      FROM [ORDER Details] AS t1
  17.     LEFT JOIN Orders AS t2 ON (t1.OrderID=t2.OrderID)
  18.     --where shipcountry='Argentina'
  19.     --group by OrderDate
  20.     ) AS t1
  21.     GROUP BY ShipCountry,orderdate
  22. ) AS t2 GROUP BY ShipCountry

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me