SQL - Calcular Valor intermedio agrupado

 
Vista:
sin imagen de perfil

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Calcular Valor intermedio agrupado

Publicado por leonardo_josue (1173 intervenciones) el 04/03/2015 20:36:32
Hola Juanjo.

No me queda claro qué es lo que necesitas... creo que en lugar de tratar de entender el código que intentaste hacer, es conveniente que pongas algunos datos de ejemplo de lo que tienes capturado en tu tabla y lo que esperas obtener como resultado, de esta manera podemos ver si lo que intentas hacer es lo correcto o indicarte alguna otra opción.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar