
Consulta sql
Publicado por Ruben (5 intervenciones) el 02/04/2014 18:21:00
Buenas amig@s tengo un problema en hallar una resta para una tabla verán la estructura es la siguiente:
C1 | Cod | C3 | C4
M1 | 1 | 13 | 17
M1 | 2 | 9 | 27
M1 | 1 | 33 | 34
M1 | 2 | 90 | 29
M2 | 1 | 30 | 89
M2 | 1 | 50 | 58
M2 | 1 | 25 | 63
M2 | 2 | 11 | 79
M3 | 1 | 10 | 13
lo que quiero es que para cada M1, M2, M3, hallar la diferencia entre
- el menor valor de la columna C3 que tengan como valor en la columna Cod=1
- el mayor valor de la columna C4 que tengan como valor en la columna Cod=2
- si solo se tiene 1 Cod=1 o 1 Cod=2, entonces no calcular nada o poner null
o sea deberia quedar algo asi:
C1 | max(C4 q tengan como Cod=2) - min(C3 q tengan como Cod=1 )
M1 | 16 ( pues la diferencia seria 29 - 13)
M2 | 54 ( pues la diferencia seria 79 - 25)
M3 | null
Espero se entienda,ojala alguien se apiade de mi xD.
Saludos!
C1 | Cod | C3 | C4
M1 | 1 | 13 | 17
M1 | 2 | 9 | 27
M1 | 1 | 33 | 34
M1 | 2 | 90 | 29
M2 | 1 | 30 | 89
M2 | 1 | 50 | 58
M2 | 1 | 25 | 63
M2 | 2 | 11 | 79
M3 | 1 | 10 | 13
lo que quiero es que para cada M1, M2, M3, hallar la diferencia entre
- el menor valor de la columna C3 que tengan como valor en la columna Cod=1
- el mayor valor de la columna C4 que tengan como valor en la columna Cod=2
- si solo se tiene 1 Cod=1 o 1 Cod=2, entonces no calcular nada o poner null
o sea deberia quedar algo asi:
C1 | max(C4 q tengan como Cod=2) - min(C3 q tengan como Cod=1 )
M1 | 16 ( pues la diferencia seria 29 - 13)
M2 | 54 ( pues la diferencia seria 79 - 25)
M3 | null
Espero se entienda,ojala alguien se apiade de mi xD.
Saludos!
Valora esta pregunta


0