Ver Mensaje Individual
  #14  
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.

No es lo mismo, el resultado va a ser bastante distinto.

Un Inner Join es una unión, por lo que solo te va a coger los registros de X que tengan registros relacionados en Y. Además si tienes dos registros en Y relacionados con uno de X, en el resultado vas a tener dos veces el registro de X.

Esos dos registros de salida, se evaluan una vez uniendolo con el primer registro relacionado de Y, y la otra vez con el segundo. De forma que si el primer registro de Y permite la operación, vas a tener el registro X en la salida (independientemente de que el segundo registro de Y no permita la operación). Según lo tengo entendido, solo con que uno cualquiera de los registros relacionados en Y no permita la operación, ya no debes poder seleccionar el registro de X.

Eso es lo que hace la consulta con subconsulta que he puesto. Para empezar evalua todos los registros de X una sola vez (tengan uno, dos, o ningún registro relacionado en Y). Y para cada uno de los registros de X, comprueba de que no exista algún registro relacionado en Y donde lo marca como no Permitido (con que solo haya uno, ya falla la condición y no se selecciona el registro de X).

Espero que se entienda algo de lo que he escrito (es que no veo una forma mejor de explicarlo).

A ver si esta consulta hace lo que necesitas, sino es que no he entendido bien lo que debe ejecutar la consulta.

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