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

Consulta a dos tablas en que una pueda no tener elementos

Estas en el tema de Consulta a dos tablas en que una pueda no tener elementos en el foro de Mysql en Foros del Web. Buenas tengo una consulta que selecciona dos tablas relacionadas digamos tabla1 y tabla2 lo hace bien, pero si la tabla dos que trae un dato ...
  #1 (permalink)  
Antiguo 31/08/2011, 10:57
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Consulta a dos tablas en que una pueda no tener elementos

Buenas tengo una consulta que selecciona dos tablas relacionadas digamos tabla1 y tabla2 lo hace bien, pero si la tabla dos que trae un dato no tiene nada da error obviamente, como puedo hacer para que la consulta se de bien, aunque no haya elementos de la tabla 2 relacionados con la tabla 1, si quieren la consulta la pongo pero es que ahorita no la tengo a la mano, cualquier idea se agradece.

Última edición por memoadian; 31/08/2011 a las 11:12
  #2 (permalink)  
Antiguo 31/08/2011, 11:55
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Consulta a dos tablas en que una pueda no tener elementos

Hola memoadian:

En tu consulta seguramente estás utilizando un INNER JOIN, lo que implica una relación 1 a 1, es decir que deben existir registros coincidentes en ambas tablas para poder mostrarse. Puedes probar utilizando un LEFT o RIGTH JOIN, según sea el caso, o incluso un FULL JOIN, si tienes dudas de como funcionan cada uno de estos preguntale a san GOOGLE o a santa WIKIPEDIA, seguramente encontrarás la respuesta.

Saludos
Leo.
  #3 (permalink)  
Antiguo 01/09/2011, 10:50
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Consulta a dos tablas en que una pueda no tener elementos

Hola amigo gracias por responder, intenté hacerlo con LEFT JOIN pero me devuelve cero consultas.

Código MySQL:
Ver original
  1. SELECT capturas.nombre AS captura, idiomas. * , texto. * , fans. * , lib_d. * , lib_d.id AS num_tomo, tomos.nombre AS nombre_tomo
  2. FROM `lib_d`
  3. LEFT JOIN `fans` ON lib_d.fansub = fans.id
  4. LEFT JOIN `tomos` ON tomos.nom_link = lib_d.serie
  5. LEFT JOIN `texto` ON texto.id = anime_d.subtitulos
  6. LEFT JOIN `idiomas` ON idiomas.id = anime_d.audio
  7. LEFT JOIN `capturas` ON capturas.id_lib_d = lib_d.id
  8. WHERE capturas.true = 1
  9. AND portada =1
  10. ORDER BY lib_d.fecha DESC
  11. LIMIT 0 , 30

todas las tablas tienen elementos, excepto capturas, que puede no tener elementos, con esta consulta si tiene capturas me aparece, pero si no tiene no sale nada.

Etiquetas: elementos, tabla, tablas
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:13.