Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2011, 12:14
emiajsiul
 
Fecha de Ingreso: julio-2011
Mensajes: 12
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Operacion con campo anterior de una columna

El problema es el siguiente: Se tienen dos columnas KM y LITROS ambas con valores numéricos, y se requiere ordenar la columna KM en forma descendente y restar al ultimo valor de la lista el valor anterior, despues el resultado se divide entre el valor LITROS correspondiente al ultimo valor de KM.

Valores de tabla donde KM y LITROS componen un registro:

Código HTML:
KM              LITROS
261253.000	43.668
261504.000	33.349
261911.000	43.668
262245.000	35.388
262522.000	37.575
Tengo que obtener el ultimo KM 262522 Y Restarle el anterior KM 262245, esto lo ubico en una columna RECORRIDO, después este resultado dividirlo entre el valor de Litros correspondiente al ultimo KM en este caso seria 37.575 y así sucesivamente.

Lo que se me ocurrio fue lo siguiente

Código:
SELECT V.KM AS UKM, X.KM AS PKM,V.LITROS, 
			(X.KM - V.KM) AS RECORRIDO, 
			((X.KM-V.KM)/V.LITROS) AS CONSUMO 
FROM VALES AS V, VALES AS X
WHERE V.VN_UNIDAD = 'DR 031' 
	AND X.VN_UNIDAD = 'DR 031' 
	AND X.KM = V.KM
ORDER BY V.KM  DESC
LIMIT 5
Obtengo este resultado

Código HTML:
UKM              PKM            LITROS      RECORRIDO     CONSUMO
262522.000	262522.000	37.575	   0.000	   0.0000000
262245.000	262245.000	35.388	   0.000	   0.0000000
261911.000	261911.000	43.668	   0.000	   0.0000000
261504.000	261504.000	33.349	   0.000	   0.0000000
261253.000	261253.000	43.668	   0.000	   0.0000000
Por lo que veo necesito recorrer el valor del alias PKM y acer la resta pero no tengo idea de como acerlo?