Problema resta en mysql

Iniciado por Ocelot1994, 12 Marzo 2017, 00:14 AM

0 Miembros y 1 Visitante están viendo este tema.

Ocelot1994

Hola buenas, estoy teniendo problemas para sacar una consulta necesaria para una página web.
Mi problema es el siguiente quiero ir restando el valor de una tupla con el valor de otra tupla de la misma columna según otra columna.
Lo expreso mejor de la siguiente manera:

Tengo una tabla llamada Prueba con dos columnas que son valor y tema.
VALOR
1000
500
1500
1000
TEMA
A
B
C
D

Entonces lo que busco es restar consecutivamente el primero con el segundo valor y el tercero con el cuarto teniendo en cuenta los valores de la tabla tema. Es decir , si esta la tupla A y la tupla B resto 1000 con 500 y saco ese resultado.

Así a primeras me sale que puedo hacer algo así pero no seria de manera consecutiva ni tendría en cuanta esos valores. OJO para la tabla tema no se que valores puede tener solo se que null no pueden ser.
Código (sql) [Seleccionar]
SELECT (P.valor - V.valor) as diferencia
FROM PRUEBA P, Prueba V


Espero que me puedan orientar un poco.
Un saludo y gracias.

Ocelot1994

#1
Ya di la manera de resolverlo por si interesa: la consulta sería algo por el estilo:
Código (vbnet) [Seleccionar]
SELECT P.valor coalesce (P.valor - (SELECT V.valor FROM Valor V WHERE V.id = P.id +1)) FROM Valor P


La solución esta sacada de aquí: http://stackoverflow.com/questions/919136/subtracting-one-row-of-data-from-another-in-sql

Un saludo