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

Mostrar consulta (INNER JOIN) de columnas vacias

Estas en el tema de Mostrar consulta (INNER JOIN) de columnas vacias en el foro de Mysql en Foros del Web. Tengo 2 tablas: ARTICULOS: articulo descr impuesto IMPUESTOS impuesto tasa Y las consulto con esta instrucción: $consulta = mysql_query("SELECT articulos.articulo, articulos.descr, articulos.impuesto, impuestos.impuesto, impuestos.tasa FROM ...
  #1 (permalink)  
Antiguo 06/04/2010, 15:41
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Mostrar consulta (INNER JOIN) de columnas vacias

Tengo 2 tablas:

ARTICULOS:
articulo
descr
impuesto

IMPUESTOS
impuesto
tasa

Y las consulto con esta instrucción:

$consulta = mysql_query("SELECT articulos.articulo, articulos.descr, articulos.impuesto, impuestos.impuesto, impuestos.tasa FROM articulos INNER JOIN impuestos on articulos.impuesto=impuestos.impuesto", $link) or die ("No se pudo ejecutar la consulta (7)");

La consulta enlaza las tablas con el campo "impuesto" y muestra la información adecuadamente.

El problema es: Cuando la tabla IMPUESTOS no tiene la fila con el corresponde campo IMPUESTO de la tabla ARTICULOS no se muestra el articulo.

Deseo que se muestre el catálogo de artículos, no importa que la tabla IMPUESTOS no tenga la fila correspondiente al campo IMPUESTO.

¿que puedo hacer?

Gracias
  #2 (permalink)  
Antiguo 06/04/2010, 16:09
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Mostrar consulta (INNER JOIN) de columnas vacias

cambia inner join por left join.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 06/04/2010, 16:33
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: Mostrar consulta (INNER JOIN) de columnas vacias

Cita:
Iniciado por huesos52 Ver Mensaje
cambia inner join por left join.

saludos
Gracias, funcionó perfecto, ahora se muestra completo, y la columna que no tiene dato aparece en blanco, lo cual es correcto.

Lo anterior resuelve mis requerimientos, pero solo una pregunta adicional:
¿Es posible que en en el lugar vacío incluir un valor?
Por lo pronto lo he resuelto desde PHP, pero ¿es posible hacerlo con MySQL?

Gracias por la solución anterior, resuelve mis requerimientos.

Saludos
  #4 (permalink)  
Antiguo 06/04/2010, 16:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Mostrar consulta (INNER JOIN) de columnas vacias

usa IFNULL()
por ejemplo
SELECT tabla1.campo, IFNULL(tabla2.otrocampo, 'no hay dato') otrocampo FROM tabla1 LEFT JOIN tabla2 ON tabla1.id=tabla2.refid

Etiquetas: columnas, join, vacias
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 18:45.