SQL Server - COMO SE HACE CON NOT EXISTS

   
Vista:

COMO SE HACE CON NOT EXISTS

Publicado por ANTONIO (15 intervenciones) el 22/07/2009 11:59:50
Hola amigos estoy haciendo esta consulta sql con un " NOT IN " pero cuando hay que comparar entre muchos registros me va lento, he leido por internet con con "NOT EXISTS" es mucho mas rapdio pero me da error y no se como puede hacerse, abajo os dejo el codigo que uso por si veis como hacer la misma consulta pero con not exits
Saludos.


rst.Open("select APELLIDOS & ' | ' & NOMBRE & ' | ' & DNI AS TODO from inscritos where carrera='" & Session("usuario") & "'" & " and confirmado='OK' AND ISNULL(ELIMINADO) AND PROCEDENCIA='TPV' AND NOT ISNULL(AUTORIZACION) and dni not in(SELECT dni_cor FROM corredor IN '' [;DATABASE=" & Server.MapPath("CGI-BIN/CARRERAS/" & Session("BASEDATOS")) & "])", adodb, Global.ADODB.CursorTypeEnum.adOpenForwardOnly, Global.ADODB.LockTypeEnum.adLockReadOnly)
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
Imágen de perfil de Isaias

RE:COMO SE HACE CON NOT EXISTS

Publicado por Isaias (3186 intervenciones) el 22/07/2009 19:11:38
Antonio

Por principio de cuentas, NO ENVIES CODIGO T-SQL desde tu aplicativo, ejecuta siempre PROCEDIMIENTOS ALMACENADOS.

Por otro lado, a las funciones:

ISNULL(ELIMINADO)

Les hacen falta argumentos, ya que debes substituir el valor NULL, por algo.

Y la forma de hacer un NOT EXISTS

SELECT t1.pk
FROM tabla1 t1
WHERE NOT EXISTS(SELECT * FROM Tabla2 t2 WHERE t2.pk = t1.pk)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar