Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 31-10-2013
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 19
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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TIBDataBase + Timeout mjjj Conexión con bases de datos 3 17-06-2010 22:56:36
Timeout de TIdsmtp mjjj Internet 0 11-01-2010 21:10:07
IBDataBase Timeout pabloc Conexión con bases de datos 0 20-06-2008 08:18:37
TimeOut en Sql Server FNADALO Conexión con bases de datos 1 28-09-2004 17:31:17
Cgi Timeout intro Internet 0 05-09-2003 01:36:40


La franja horaria es GMT +2. Ahora son las 18:06:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi