MySQL - Consulta multitabla

 
Vista:

Consulta multitabla

Publicado por Jorge López (1 intervención) el 22/10/2004 11:11:45
Tengo una tabla de "Personas", otra con "Proyectos" y otra que las relacciona "relaciones"
Para selecciona las personas que están relaccionadas con un proyecto ejecuto:
SELECT A.Id_Persona, A.Nombre ... FROM personas A, relaciones B WHERE A.Id_Persona=B.Id_Persona AND B.IdProyecto=x
Esto funciona bien.
Sin embargo, ¿cómo puedo seleccionar las personas que NO están relaccionadas con un encargo?
Si pongo la misma instrucción pero cambio B.IdProyecto<>x no me sirve porque si la persona 1 está relacionada con varios encargos me devuelve las filas de los otros encargos.
Se cómo resolverlo con subconsultas, pero la versión que tengo instalada es la 4.0, y las subconsultas no funcionan hasta la 4.1.
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

RE:Consulta multitabla

Publicado por Ayudante (219 intervenciones) el 22/10/2004 19:48:21
Ok, ya nos haz indicado que un query de la forma:
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);

no puede ejecutarse, sin embargo, el manual dice lo siguiente, puede reescribirse la instrucción de la siguiente forma:

SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id
WHERE table2.id IS NULL;

Y sí funciona, ya lo probé
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