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

Select de id_ que no estén en otra tabla...

Estas en el tema de Select de id_ que no estén en otra tabla... en el foro de Mysql en Foros del Web. Hola foro!! Tengo un listado de eventos (id,nombre,fecha) y en otra tabla introduzco una serie de características (id,id_evento,caract1,caract2,etc) mediante un campo `id_evento`, sacar el listado ...
  #1 (permalink)  
Antiguo 02/08/2011, 23:47
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Select de id_ que no estén en otra tabla...

Hola foro!!

Tengo un listado de eventos (id,nombre,fecha) y en otra tabla introduzco una serie de características (id,id_evento,caract1,caract2,etc) mediante un campo `id_evento`, sacar el listado de aquí resulta fácil, pero lo que quiero es un listado de eventos que no tengan su registro asociado en la tabla de características.... cómo se haría??

Muchas gracias!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #2 (permalink)  
Antiguo 03/08/2011, 07:59
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Select de id_ que no estén en otra tabla...

hola X3mdesign:

¿Ya probaste utilizando NOT EXISTS o NOT IN? aquí te dejo algunas ligas

http://www.java2s.com/Tutorial/MySQL...thsubquery.htm

http://www.java2s.com/Code/SQLServer...uery/NOTIN.htm

http://dev.mysql.com/doc/refman/5.0/...ubqueries.html

http://www.tutorialenred.com/operador-in-en-mysql
  #3 (permalink)  
Antiguo 05/08/2011, 01:01
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: Select de id_ que no estén en otra tabla...

Muchas gracias!!! Probé sin éxito con NOT IN, pero con tu sugerencia de EXISTS ya está solucionado!!! No lo conocía, muchas gracias de nuevo!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #4 (permalink)  
Antiguo 05/08/2011, 05:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Select de id_ que no estén en otra tabla...

Con LEFT JOIN e IS NULL:
Código MySQL:
Ver original
  1. SELECT E.*
  2. FROM eventos E LEFT JOIN caracteristicas C ON E.id_evento = C.id_evento
  3. WHERE C.id_evento IS NULL;

LEFT JOIN devuelve todo lo de la primera tabla (la de la izquierda), tenga o no coincidencias scon la segunda. Al buscar donde en la segunda tabla id_evento sea NULL, estás obteniendo sólo los de evento que no tengan su respectivo registro relacionado en la segunda tabla.
Si la relación fuese 1:N, además deberás incluir DISTINCT para evitar duplicidades de eventos:
Código MySQL:
Ver original
  1. FROM eventos E LEFT JOIN caracteristicas C ON E.id_evento = C.id_evento
  2. WHERE C.id_evento IS NULL;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, tabla
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 08:27.