Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2007, 22:49
Gustavo_AR
 
Fecha de Ingreso: septiembre-2006
Ubicación: Argentina
Mensajes: 190
Antigüedad: 17 años, 7 meses
Puntos: 1
Consulta dependiente con campos null

Estimados: Tengo una tabla en donde almacen productos ordenados por categorias. Estas categorias estan ordenadas en tres niveles dependientes, es decir, primero se elige la categoria, luego la sub y por ultimo otra subcategoria. Esto esta armado en php y básicamente almacena los id de cata categoria y subcategoria en la tabla de productos. Además tengo las tres tablas correspondientes a cada categoria donde se almacenan los nombres.

El problema surge cuando hago una consulta y en la tabla de productos algun campo de categorias figura en null, porque no es obligatorio llenar las tres categorias para que inserte un registro sino solo una. La estructura de la tabla es la siguiente:
Código:
 id    categoria    sub_cat1     sub_cat2     titulo     descripcion    precio
 1        1            4              2         Algo        Algo          100
 2        1            2             Null       Algo        Algo           50
Hago la siguiente consulta para reemplazar los numeros de id de categorias por sus correspondientes nombres:

Código:
SELECT categorias.categoria, sub_cat1.sub_cat1, sub_cat2.sub_cat_2, productos.titulo, productos.descripcion, productos.precio, productos.stock
FROM categorias, sub_cat1, sub_cat2, productos
WHERE categorias.id_categoria = productos.categoria
AND sub_cat1.id_subcat1 = productos.sub_cat1
AND sub_cat2.id_subcat2 = productos.sub_cat2
LIMIT 0 , 30
Pero el problema es que solo me aparecen los registros que tienen las tres categorias completas. Si no me equivoco hay que emplear LEFT JOIN pero no recuerdo como hacerlo... leí bastante pero no sale.

Apreciaría mucho su ayuda.

Desde ya, muchas gracias.
__________________
Gustavo