SQL - Condicional doble sobre dos tablas

 
Vista:

Condicional doble sobre dos tablas

Publicado por Julian Alejandro Lamprea (1 intervención) el 26/11/2006 10:35:49
Hola.
Necesito hacer una consulta sobre una tabla dependiendo del resutlado de otra, se que normalmente se haría con una combinación, pero es que se tiene q cumplir una condición especial.

En la tabla eventos, tengo registrados todos los eventos disponibles que tengo en mi base de datos.
En la tabla usuarios, estan todos los usuarios registrados en mi base.
ahora, para la relación n a m entre las dos, tengo la tabla usuarioevento en donde solo guardo el id del usuario y el respectivo evento al que esta inscrito.

ahora necesito obtener un listado de los eventos disponibles, exceto en los que ya se encuentra registrado el usuario.

la consulta la estoy haciendo algo asi, pero no se q esta mal:
[CODE]
select n.id_Evento, n.nombre, n.descripcion, n.fecha
from evento n, usuarioevento u
where n.opcional='1' and u.id_Usuario=$var and n.id_Evento=u.id_Evento
[/CODE]

$var me indica el id del usuario que esta realizando la consulta, es decir el usuario que tiene registrado algunos eventos.

Gracias por cualquier ayuda posible.
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

RE:Condicional doble sobre dos tablas

Publicado por Raul (6 intervenciones) el 26/11/2006 15:21:11
Hola nose si lo he entendido bien, pero creo que quieres sacar todos los eventos que tienes excepto en los que el usuario ya esta registrado no??
Si es así yo creo que haria algo asi:

SELECT ID_EVENTO,NOMBRE,DESCRIPCION,FECHA
FROM EVENTO
WHERE OPCIONAL='1'
MINUS
SELECT N.ID_EVENTO,N.NOMBRE,N.DESCRIPCION,N.FECHA
FROM EVENTO N,USUARIOEVENTO U
WHERE N.OPCIONAL='1' AND U.ID_USUARIO=$VAR AND N.ID_EVENTO=U.iD_EVENTO

Lo de opcional=1 no se lo que es pero te lo repito en la consulta porque así le indicas tu en la condicion, espero que te sirva.
Un saludo
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