Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2013, 11:49
Avatar de camarvi24
camarvi24
 
Fecha de Ingreso: diciembre-2011
Ubicación: España
Mensajes: 74
Antigüedad: 12 años, 5 meses
Puntos: 1
Where en funcion de un parametro

Hola a todos quiero hacer una consulta con una condicion WHERE que cambien en funcion de un valor, tengo dos tablas una que se llama indicadores (id,onbre,acumulado)
y otra tabla que se llama registro_indicadores (ID,SEDE,INDICADOR,MES,ANIO,VALOR)

Tengo que hacer un select que me saque los registros para un rango de meses, necesito que los valores que no son acumulados me sume el valor del rango de meses, y los no acumulados que solo que devuelva el valor del ultimo mes del rango os pongo la consulta

Código SQL:
Ver original
  1. SELECT (GRUPOS_INDICADORES.ORDEN,GRUPOS_INDICADORES.GRUPO,
  2.        INDICADORES.ID AS COD_IND,INDICADORES.INDICADOR,
  3.        SUM(REGISTRO_INDICADORES.VALOR) AS VALOR,REGISTRO_INDICADORES.CENTRO,
  4.        CENTROS.CENTRO_NOMBRE FROM GRUPOS_INDICADORES,CENTROS,REGISTRO_INDICADORES,
  5.        ZONAS_BASICAS,INDICADORES
  6.        WHERE ZONAS_BASICAS.COD_ZBS=04111 AND INDICADORES.NIVEL=38
AQUI TENGO QUE PONER LA CONDICION
Código SQL:
Ver original
  1. AND  SI INDICADOR.ACUMULADO>0  ENTONCES REGISTRO_INDICADORES.MES=3
  2. SINO REGISTRO_INDICADORES.MES BETWEEN 1 Y 3

Código SQL:
Ver original
  1. AND CENTROS.COD_ZBS=ZONAS_BASICAS.COD_ZBS
  2.        AND REGISTRO_INDICADORES.CENTRO=CENTROS.COD_CENTRO
  3.        AND INDICADORES.ID=REGISTRO_INDICADORES.INDICADOR
  4.        AND INDICADORES.GRUPO=GRUPOS_INDICADORES.ID
  5.        AND REGISTRO_INDICADORES.CENTRO=CENTROS.COD_CENTRO
  6.        AND REGISTRO_INDICADORES.ANIO=2013
  7.        GROUP BY GRUPOS_INDICADORES.ORDEN,GRUPOS_INDICADORES.GRUPO,
  8.        INDICADORES.ORDEN,INDICADORES.ID,INDICADORES.INDICADOR,
  9.        REGISTRO_INDICADORES.CENTRO,CENTROS.CENTRO_NOMBRE
  10.        ORDER BY GRUPOS_INDICADORES.ORDEN,INDICADORES.ORDEN,
  11.        INDICADORES.ID,CENTROS.CENTRO_NOMBRE

Como puedo poner esa condicion en la sentencia

Gracias

Última edición por gnzsoloyo; 26/04/2013 a las 20:17