
Calcular Valor intermedio agrupado
Publicado por Juanjo (1 intervención) el 04/03/2015 16:49:20
Buenas, os explico mi problemática. Tengo un paquete con tres opciones que se pueden combinar entre sí incluyendo una, dos o las tres opciones y a la hora de llamar con una select al campo para ver si tiene 1, 2 o 3 opciones puedo calcular el máximo y el mínimo para los que tienen una opción o las tres, pero no sé cómo indicarle los que tienen 2 opciones. He probado con AVG, MEDIAN... pero no sé cómo indicarlo.
Os pongo esta primera parte del código de la tabla Temporal (TMP1) por si os ayuda a entender la operación
CASE WHEN NUM_OPCION > 1 AND NUM_OPCION <3 THEN ( TMP1.OPCION1 + ' / ' + TMP1.OPCION2)
ELSE TMP1.OPCION1 END,
CASE WHEN NUM_OPCION > 2 THEN ( TMP1.OPCION1 + ' / ' + TMP1.OPCION2+'/'+ TMP1.OPCION3)
ELSE ( TMP1.OPCION1 + ' / ' + TMP1.OPCION2)
END AS OPCION,
...
El problema está en esta segunda parte cuando intento llamar al campo OPCION2
SELECT
MIN(TMP0.OPCION) AS OPCION1,
MAX(TMP0.OPCION) AS OPCION3,
.............. AS OPCION2,
COUNT( DISTINCT TMP0.OPCION) AS NUM_OPCION
Muchas Gracias
Juanjo
Os pongo esta primera parte del código de la tabla Temporal (TMP1) por si os ayuda a entender la operación
CASE WHEN NUM_OPCION > 1 AND NUM_OPCION <3 THEN ( TMP1.OPCION1 + ' / ' + TMP1.OPCION2)
ELSE TMP1.OPCION1 END,
CASE WHEN NUM_OPCION > 2 THEN ( TMP1.OPCION1 + ' / ' + TMP1.OPCION2+'/'+ TMP1.OPCION3)
ELSE ( TMP1.OPCION1 + ' / ' + TMP1.OPCION2)
END AS OPCION,
...
El problema está en esta segunda parte cuando intento llamar al campo OPCION2
SELECT
MIN(TMP0.OPCION) AS OPCION1,
MAX(TMP0.OPCION) AS OPCION3,
.............. AS OPCION2,
COUNT( DISTINCT TMP0.OPCION) AS NUM_OPCION
Muchas Gracias
Juanjo
Valora esta pregunta


0