Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/04/2013, 08:10
negro1985
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Optimizar consulta

Gracias por tu ayuda solo que la consulta me devuelve el mismo resultado en todos if, modifique la consulta y obtuve el resultado que deseaba, quedo asi:

Código:
SELECT
    EJECUCION,
    SUSPENDIDO,
    MORA,
    PROBLEMA
FROM    
    (SELECT
        IF(cc.ID_SITUACION = 18, COUNT(cc.ID_CONTRATO),0) EJECUCION,
        IF(cc.ID_SITUACION = 19, COUNT(cc.ID_CONTRATO),0) SUSPENDIDO,
        IF(cc.ID_SITUACION = 39, COUNT(cc.ID_CONTRATO),0) MORA,
        IF(cc.ID_SITUACION = 46, COUNT(cc.ID_CONTRATO),0) PROBLEMA
    FROM 
        contrato cc
        INNER JOIN especialidad e ON e.ID_ESPECIALIDAD = cc.ID_ESPECIALIDAD
        INNER JOIN departamento d ON d.ID_DEPARTAMENTO = e.ID_DEPARTAMENTO
    WHERE
        d.NOMBRE_CORTO = "MISO"
        AND cc.ID_TIPO_CONTRATO = 1) TABLA;
Gracias por tu ayuda gnzsoloyo.