Ver Mensaje Individual
  #5  
Antiguo 23-09-2005
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Reputación: 0
mayte mtz Va por buen camino
Es muy útil sólo que en mi caso una oficina puede tener movimiento hasta en 500 rutas y tendria que poner fijos los numeros de las rutas para poder convertirlas a columnas y si en algún momento se da de alta otra ruta pues tendría que estar modificando el query.
Voy a utilizar esto combinado con tablas temporales para almacenar el movimiento de cada ruta.
Michismias gracias me ayudo un chorral como decimos por aca en el Norte.
Saludos


Cita:
Empezado por vtdeleon
Saludos,

Tenia ese problema antes y la ayuda de SQL Query Analyzer tiene un ejemplo parecido con el CASE THEN

Ejemplo:

Tienes una tabla llama Pivot con esta estructura y contenido,
Código:
Year_____Quarter_____Amount
1990______1__________ 1.1
1990______2__________ 1.2
1990______3__________ 1.3
1990______4__________ 1.4
1991______1__________ 2.1
1991______2__________ 2.2
1991______3__________ 2.3
1991______4__________ 2.4
***********************************************************
Con esto:

Código SQL [-]
SELECT Year, 
____SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1,
____SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2,
____SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3,
____SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4
FROM Pivot
GROUP BY Year


puedes transformala a
Código:
Year___Q1____ Q2____Q3_____Q4
1990____1.1____1.2____ 1.3____ 1.4
1991____2.1____2.2____ 2.3____ 2.4
****************************************************

Se agrupa el Año 2 registros y los Quarter se convierten en Columnas (Q#)mostrando el contenido respectivo a cada año.


Espero ser claro y que te sirve
Responder Con Cita