SELECT ....NOT IN (SELECT....)
Publicado por yego (2 intervenciones) el 18/09/2000 00:00:00
Tengo un pequeño problema a la hora de realizar una consulta atacando a una base de datos access desde VB6.
Resulta que al realizar dicha consulta están implicadas 2 tablas ambas tienen un Codigo_es con el que se pueden relacionar.
La una de ellas contiene los registros de establecimiento (principal) y la otra tiene relaciones creadas con establecimientos y zonas; está será un Histórico de relaciones.
Yo para saber los establecimientos de unas determinadas caracteristicas que están libres de relaciones lo que hago es filtrar con una consulta los criterios para esos establecimientos que me interesan y dentro de esa misma consulta hago otra comprobando con un NOT IN que no se encuentren en la tabla de relaciones activas, que la fecha de baja sea nula.
Una select dentro de otra select "unida" por un NOT IN, creo que lanza una consulta por cada registro de la primera select a la seguna select anidada dentro de la primera; Esto es lentiiisimo, por el gran volumen de registros que utilizo.
Lo que yo quiero es optimizar este proceso con algún otro tipo de consulta que pueda sustituir a la clausula IN pero he probado muchos sin resultado alguno.
Si alguien sabe, me gustaria que me ayudaseis.
Siento el ser tan puntilloso en explicar las cosas y explicarlas tan mal.
Un saludo y Muchisimas gracias.
Resulta que al realizar dicha consulta están implicadas 2 tablas ambas tienen un Codigo_es con el que se pueden relacionar.
La una de ellas contiene los registros de establecimiento (principal) y la otra tiene relaciones creadas con establecimientos y zonas; está será un Histórico de relaciones.
Yo para saber los establecimientos de unas determinadas caracteristicas que están libres de relaciones lo que hago es filtrar con una consulta los criterios para esos establecimientos que me interesan y dentro de esa misma consulta hago otra comprobando con un NOT IN que no se encuentren en la tabla de relaciones activas, que la fecha de baja sea nula.
Una select dentro de otra select "unida" por un NOT IN, creo que lanza una consulta por cada registro de la primera select a la seguna select anidada dentro de la primera; Esto es lentiiisimo, por el gran volumen de registros que utilizo.
Lo que yo quiero es optimizar este proceso con algún otro tipo de consulta que pueda sustituir a la clausula IN pero he probado muchos sin resultado alguno.
Si alguien sabe, me gustaria que me ayudaseis.
Siento el ser tan puntilloso en explicar las cosas y explicarlas tan mal.
Un saludo y Muchisimas gracias.
Valora esta pregunta


0