Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problemas con una consulta

Estas en el tema de Problemas con una consulta en el foro de Mysql en Foros del Web. Hola, tengo aquí un problema que no me deja dormir, os explico el caso. - Tengo una tabla "PERSONAS" --------------------------------- ID | Nombre --------------------------------- 1 ...
  #1 (permalink)  
Antiguo 18/07/2008, 04:16
 
Fecha de Ingreso: enero-2007
Mensajes: 157
Antigüedad: 17 años, 3 meses
Puntos: 2
Problemas con una consulta

Hola, tengo aquí un problema que no me deja dormir, os explico el caso.

- Tengo una tabla "PERSONAS"

---------------------------------
ID | Nombre
---------------------------------
1 | Jorge
2 | Paco
3 | Pepe

- Y otra tabla "PERSONAS_REGISTRADAS"

---------------------------------
ID | ID_PERSONA
---------------------------------
1 | 1
2 | 3

- Como veis estan registradas la persona Jorge y Pepe.

Pues estoy intentando hacer una consulta que me diga quien no esta registrado.

SELECT `personas`.`id` , `personas`.`nombre`
FROM `personas` , `personas_registradas`
WHERE (
(
`personas`.`id` != `personas_registradas`.`id_persona`
)
)

Pero esta consulta me devuelve a Paco y a Jorge duplicados (eso ya se que es por el group by).

Que consulta se podría hacer para no tener que hacer una primera consulta y coger todos los valores de "personas_registradas" y tener que hacer otra consulta luego con un NOT IN ??

Quiero evitarme hacer 2 consultas.

Muchas gracias por vuestra ayuda
  #2 (permalink)  
Antiguo 18/07/2008, 04:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Problemas con una consulta

Prueba con esta:
SELECT `personas`.`id` , `personas`.`nombre`
FROM `personas`
WHERE personas.id NOT IN (SELECT id_persona FROM personas_registradas)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:19.