Ver Mensaje Individual
  #5  
Antiguo 06-04-2017
SmartZooft SmartZooft is offline
Miembro
 
Registrado: dic 2016
Posts: 22
Reputación: 0
SmartZooft Va por buen camino
Cita:
Empezado por RONPABLO Ver Mensaje
Cabe anotar que la clausula "IN" es una clausuala poco recomendable para ser usada en tablas con muchos registros, podrías acomodar mejor la consulta con un exists de la siguiente forma (primero hacer la consulta y si los resultados que se ven son los esperado proceder con el delete)

Código SQL [-]
select * from FROM HISTORIA h
where 
exists (SELECT h1.ID_CLIENTE FROM CLIENTES h1 WHERE h1.ID_CLIENTE = h.ID_CLIENTE and h1.ID_HISTORIA = h.ID_HISTORIA and h1.fecha < '01/01/2015')


Y si funciona bien

Código SQL [-]
delete from FROM HISTORIA h
where 
exists (SELECT h1.ID_CLIENTE FROM CLIENTES h1 WHERE h1.ID_CLIENTE = h.ID_CLIENTE and h1.ID_HISTORIA = h.ID_HISTORIA and h1.fecha < '01/01/2015')
RONPABLO, muchas gracias, esa sentencia es mucho más rápida y efectiva, muchas gracias funciona muy bien!
Responder Con Cita