Ver Mensaje Individual
  #12  
Antiguo 08-10-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola

Tampoco habia usado nunca el EXISTS, lo he mirado un poco en la documentación del MSSQL y me parece muy curiosa su sintaxis (La verdad es que no acabo de entenderla, no se indican los campos a comparar). Es bastante más comprensible el operador relacionado ANY.

Mirandolo bien, no creo que puedas usar el LEFT OUTER JOIN. Si la tabla relacionada (la Y) puede tener varios registros relacionados con la maestra X, y algunos de ellos marcan la operación como permitida y otras como no permitida, entonces el LEFT OUTER JOIN nos va a dejar pasar los registros de esa operación en X, puesto que cumplirán la condición cuando la unión se realize con los registros marcados como permitidos en Y.

Me parece que la única alternativa es utilizar una subconsulta, aunque puede ser un poco más sencilla de la que proponias :

Código:
Select * 
From X
Where datepart(dy, Fecha) = datepart(dy, getdate())  and 
      IdAccion not in (select IdAccion from Y where Permitido = 0)
¿ Que te parece esta solución ?

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).

Última edición por guillotmarc fecha: 08-10-2003 a las 22:02:04.
Responder Con Cita