
Realizar consulta SQL
Publicado por Ruben (5 intervenciones) el 08/04/2014 18:58:51
ID | Cod | numero
M1 | 1 | 13
M1 | 3 | 9
M1 | 1 | 33
M1 | 4 | 9
M1 | 3 | 89
M1 | 3 | 11
M2 | 1 | 10
M2 | 2 | 50
M2 | 3 | 25
M2 | 3 | 11
M3 | 1 | 10
M3 | 3 | 13
En esta tabla necesito obtener otra tabla, intente hacerlo pero no logro sacar la tabla que necesito, ayudenme porfa. La consulta deberia ser:
* SI se tiene mas de una pareja de 1 y 3. Se debe restar cada 3 con su 1 inmediata inferior
* Para casos que exista solo un código 1 y varios 3, se restará el 3 más cercano al 1 existente.
*Si entre una pareja que vayamos a calcular 1 y 3, se encuenttre un numero mayor o igual al 3 entonces no hacer la resta y no considerar ese numero 3
* Los anteriores puntos se calculan sobre la columna Cod, la resta que se menciona se refiere a los valores de la columna Valor
* Esto deberia devolver una tabla de la forma:
ID | Cod | numero
M1 | 1 | 13 -> se debe restar
M1 | 3 | 9
M1 | 1 | 33
M1 | 4 | 9 -> se deberia restar el 3 y 1 (89-33) pero no se hara porq hay un numero 4 entre ellos
M1 | 3 | 89
M1 | 3 | 11 -> este ya no tiene pareja
M2 | 1 | 10
M2 | 2 | 50 -> si procede la resta y ae ignora el 2
M2 | 3 | 25
M2 | 3 | 11 -> no tiene pareja
M3 | 1 | 10
M3 | 3 | 13 -> se resta
bajo las condiciones arriba puesta deberia quedar
ID | diferencia
M1 | 9-13
M2 | 25-10
M3 | 13-10
alguien podria apoyarme con esta consulta mucha gracias!!!!!
M1 | 1 | 13
M1 | 3 | 9
M1 | 1 | 33
M1 | 4 | 9
M1 | 3 | 89
M1 | 3 | 11
M2 | 1 | 10
M2 | 2 | 50
M2 | 3 | 25
M2 | 3 | 11
M3 | 1 | 10
M3 | 3 | 13
En esta tabla necesito obtener otra tabla, intente hacerlo pero no logro sacar la tabla que necesito, ayudenme porfa. La consulta deberia ser:
* SI se tiene mas de una pareja de 1 y 3. Se debe restar cada 3 con su 1 inmediata inferior
* Para casos que exista solo un código 1 y varios 3, se restará el 3 más cercano al 1 existente.
*Si entre una pareja que vayamos a calcular 1 y 3, se encuenttre un numero mayor o igual al 3 entonces no hacer la resta y no considerar ese numero 3
* Los anteriores puntos se calculan sobre la columna Cod, la resta que se menciona se refiere a los valores de la columna Valor
* Esto deberia devolver una tabla de la forma:
ID | Cod | numero
M1 | 1 | 13 -> se debe restar
M1 | 3 | 9
M1 | 1 | 33
M1 | 4 | 9 -> se deberia restar el 3 y 1 (89-33) pero no se hara porq hay un numero 4 entre ellos
M1 | 3 | 89
M1 | 3 | 11 -> este ya no tiene pareja
M2 | 1 | 10
M2 | 2 | 50 -> si procede la resta y ae ignora el 2
M2 | 3 | 25
M2 | 3 | 11 -> no tiene pareja
M3 | 1 | 10
M3 | 3 | 13 -> se resta
bajo las condiciones arriba puesta deberia quedar
ID | diferencia
M1 | 9-13
M2 | 25-10
M3 | 13-10
alguien podria apoyarme con esta consulta mucha gracias!!!!!
Valora esta pregunta


0