SQL - Subconsultas anidadas y EXISTS

 
Vista:

Subconsultas anidadas y EXISTS

Publicado por Liam (1 intervención) el 27/02/2004 16:49:05
Hola!
Tengo un problema con una consulta algo compleja...
La he probado en SQLServer y funciona, pero el problema es para
una base de datos en MS-Access (2003). Las dos BD tienen los mismo datos, pero en SQLServer devuelve lo que espero, y en Access no devuelve nada. Ningun dato.

La consulta es:

SELECT DISTINCT A.subcuenta, 0 as Debe, 0 as Haber
FROM A, B
WHERE NOT EXISTS
(SELECT Subcuenta FROM
(SELECT DISTINCT A.subcuenta
FROM A, B
WHERE ( A.asiento = B.asiento AND A.ejercicio = B.ejercicio)
AND (A.subcuenta BETWEEN 100000000 AND 700000000)
AND (A.ejercicio = 1) AND (A.Fecha < #01/02/2000#))
AS T3
WHERE A.subcuenta = T3.subcuenta
)
AND
(A.asiento = B.asiento AND A.ejercicio = B.ejercicio)
AND (A.subcuenta BETWEEN 100000000 AND 700000000)
AND (A.Fecha BETWEEN #01/02/2000#)

El problema debe ser por usar NOT EXIST.
Lo he hecho asi, porque antes tenia la consulta usando IN
pero era muy lenta, debido al gran volumen de datos de la BD.

Aparte del problema que os comento, veis alguna forma de
SIMPLIFICAR la consulta??? No hago JOIN entre las tablas
porque para cada asiento/ejercicio de la tabla A, tengo varios
asiento/ejercicio/fila en la tabla B.

UN SALUDO y GRACIAS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder