Ver Mensaje Individual
  #4  
Antiguo 31-10-2013
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Reputación: 17
TOPX Va camino a la fama
Buena jornada,

Un par de ideas vagas:

1. En la respuesta de ADO components CommandTimeout recomiendan poner el valor de la propiedad CursorLocation a clUseServer.

2. Si la relación entre las dos tablas se da únicamente por el campo E2_CTRL_PAC (aunque sospecho que no), y si entiendo bien lo que propone [oscarac], sería algo así:
Código SQL [-]
SELECT DISTINCT E2_CTRL_PAC
FROM T4_CON_CITA
LEFT OUTER JOIN T6_ESPECIALES
  ON T4_CON_CITA.E2_CTRL_PAC = T6_ESPECIALES.E2_CTRL_PAC 
WHERE T4_CON_CITA.T4_FECHA_CITA > 40537 
  AND T4_CON_CITA.T4_FECHA_CITA < 40903
  AND T4_CON_CITA.T4_ASISTIO = 1 
  AND T4_CON_CITA.T4_FALTO = 0
  AND T4_CON_CITA.C21_DX_CIE > -1 
  AND NOT T4_CON_CITA.C22_DX_CIE IS NULL
  AND T6_ESPECIALES.E2_CTRL_PAC IS NULL 
UNION  
SELECT DISTINCT E2_CTRL_PAC
FROM T6_ESPECIALES
LEFT OUTER JOIN T4_CON_CITA
  ON T6_ESPECIALES.E2_CTRL_PAC = T4_CON_CITA.E2_CTRL_PAC 
WHERE T6_ESPECIALES.T6_FECHA_CITA > 40537 
  AND T6_ESPECIALES.T6_FECHA_CITA < 40903
  AND T6_ESPECIALES.T6_ASISTIO = 1 
  AND T6_ESPECIALES.T6_FALTO = 0
  AND T6_ESPECIALES.C21_DX_CIE > -1 
  AND NOT T6_ESPECIALES.C22_DX_CIE IS NULL
  AND T4_CON_CITA.E2_CTRL_PAC IS NULL

Pero, adicionalmente, le propongo el uso de FULL OUTER JOIN. Algo así:
Código SQL [-]
SELECT DISTINCT E2_CTRL_PAC
FROM T4_CON_CITA
FULL OUTER JOIN T6_ESPECIALES
  ON T4_CON_CITA.E2_CTRL_PAC = T6_ESPECIALES.E2_CTRL_PAC 
WHERE T4_CON_CITA.T4_FECHA_CITA > 40537 
  AND T4_CON_CITA.T4_FECHA_CITA < 40903
  AND T4_CON_CITA.T4_ASISTIO = 1 
  AND T4_CON_CITA.T4_FALTO = 0
  AND T4_CON_CITA.C21_DX_CIE > -1 
  AND NOT T4_CON_CITA.C22_DX_CIE IS NULL
UNION  
SELECT DISTINCT E2_CTRL_PAC
FROM T6_ESPECIALES
FULL OUTER JOIN T4_CON_CITA
  ON T6_ESPECIALES.E2_CTRL_PAC = T4_CON_CITA.E2_CTRL_PAC 
WHERE T6_ESPECIALES.T6_FECHA_CITA > 40537 
  AND T6_ESPECIALES.T6_FECHA_CITA < 40903
  AND T6_ESPECIALES.T6_ASISTIO = 1 
  AND T6_ESPECIALES.T6_FALTO = 0
  AND T6_ESPECIALES.C21_DX_CIE > -1 
  AND NOT T6_ESPECIALES.C22_DX_CIE IS NULL
Si está de acuerdo, puede comparar el desempeño que le dé la ejecución de cada propuesta.
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita