Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Ocelot1994 en 12 Marzo 2017, 00:14 am



Título: Problema resta en mysql
Publicado por: Ocelot1994 en 12 Marzo 2017, 00:14 am
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
  1. SELECT (P.valor - V.valor) AS diferencia
  2. FROM PRUEBA P, Prueba V

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


Título: Re: Problema resta en mysql
Publicado por: Ocelot1994 en 14 Marzo 2017, 18:42 pm
Ya di la manera de resolverlo por si interesa: la consulta sería algo por el estilo:
Código
  1. SELECT P.valor coalesce (P.valor - (SELECT V.valor FROM Valor V WHERE V.id = P.id +1)) FROM Valor P
  2.  

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

Un saludo