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

[SOLUCIONADO] Motrar datos de dos tablas (JOIN)

Estas en el tema de Motrar datos de dos tablas (JOIN) en el foro de Mysql en Foros del Web. Tengo dos tablas: ARTICULOS: codigo int(9), descripcion varchar(60) EXISTENCIAS: llave_art int(9), existencia int(9) Deseo mostrar todos los artículos con sus existencias, y los que no ...
  #1 (permalink)  
Antiguo 12/04/2014, 19:04
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Motrar datos de dos tablas (JOIN)

Tengo dos tablas:

ARTICULOS:
codigo int(9),
descripcion varchar(60)

EXISTENCIAS:
llave_art int(9),
existencia int(9)

Deseo mostrar todos los artículos con sus existencias, y los que no tengan existencia, mostrar Existencia CERO.
Hago la siguiente instruccion, pero solo muestra los que tienen registro en la tabla EXISTENCIAS.

Código MySQL:
Ver original
  1. SELECT a.codigo, a.descripcion, e.existencia
  2. FROM articulos a LEFT JOIN existencias e on e.llave_art=a.llave;
Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
¿Como debo hacer la instruccion MySQL para desplegar los artículos aún cuando no tengan su existencia registrada en la segunda tabla?

Entiendo el problema es el LEFT JOIN

Mil gracias anticipadas.

Última edición por gnzsoloyo; 12/04/2014 a las 22:03
  #2 (permalink)  
Antiguo 12/04/2014, 22:04
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, 5 meses
Puntos: 2658
Respuesta: Motrar datos de dos tablas (JOIN)

Código MySQL:
Ver original
  1. SELECT a.codigo, a.descripcion, IFNULL(e.existencia, 0) existencia
  2. FROM articulos a LEFT JOIN existencias e ON a.llave = e.llave_art
  3. WHERE TRUE OR e.llave_art 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)
  #3 (permalink)  
Antiguo 13/04/2014, 03:50
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: Motrar datos de dos tablas (JOIN)

Infinitas gracias gnzsoloyo... Me has dado gran ayuda.
Mi consulta es más compleja de como la plantee, lo hice para recibir una orientación.

Mi consulta ya trabaja y es la siguiente, espero sea estructuralmente correcta:

Me gustaría entender la siguiente parte: IFNULL(e.exi, 0) exi
¿Cual es su funcionamiento?
Si alguien tiene una referencia para leer al respecto lo agradeceré.
Saludos...

Código MySQL:
Ver original
  1. SELECT a.articulo, a.descr, a.fam1, a.activo,
  2. IFNULL(e.exi, 0) exi, e.maxi, e.reor, e.mini, e.boc1, e.bot1, a.llave, kit.llave
  3. FROM mln_articulos a
  4. LEFT JOIN exi e ON e.llave_art=a.llave
  5. LEFT JOIN articulos_kits kit on kit.llave_art=a.llave
  6. WHERE a.fam1 = '$fam1'
  7. AND (e.llave_art IS NULL OR e.suc = '$suc')
  8. ORDER BY a.articulo ASC
  9. LIMIT $limit[0], $limit[1]
  #4 (permalink)  
Antiguo 13/04/2014, 04:14
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, 5 meses
Puntos: 2658
Respuesta: Motrar datos de dos tablas (JOIN)

Cita:
Si alguien tiene una referencia para leer al respecto lo agradeceré.

http://dev.mysql.com/doc/refman/5.0/...functions.html
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/04/2014, 11:27
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: Motrar datos de dos tablas (JOIN)

Muchas gracias gnzsoloyo... Me ha sido de especial utilidad.
Veo que tengo que dedicar horas a este tema, me avoco a ello.

Saludos

Etiquetas: join, registro, select, sql, 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:34.