Query Mysql Producto Categoria Subcategoria

publicado por: Anonymous

Tengo esta relacion:

Base de Datos Tablas Relacionadas

Y Quisiera hacer la consulta adecuada que me arrojara los Productos que pertenecen unicamente a una Subcategoria, de una Categoria en especifico.

Si pudiesen ayudarme se los agradeceria, le estoy dando vueltas, pero aun los JOIN me enrredan un poco y aun no he logrado hacerlo funcional.

Estoy abierto a sugerencias, si la relacion no es la adecuada, aun asi, y por supuesto que estare tomando la sugerencia, quisiera si fuera factible el Query que me arrojara el resultado tal como esta en este momento.

Gracias de antemano.-

solución

Esta consulta te traera todos los productos con sus respectivas categorias, subcategorias, etc.
Tener en cuenta que: La sentencia JOIN (unir, combinar) de SQL permite combinar registros de una o más tablas en una base de datos relacional.

select
p.id, p.nombre_prod, c.nombre_cat, s.nombre_subCat
from
producto p
join
prod_cat_subcat pcs on pcs.id_prod = p.id
join
categoria c on c.id = pcs.id_cat
join
subcategoria s on s.id = pcs.id_subcat
where s.id = 1;

Si te interesa solamente los datos sin importar si estan cargados en las demas tablas puedes utilizar left join:
El resultado de esta operación siempre contiene todos los registros de la tabla de la izquierda (Productos), independientemente de si existe un registro correspondiente en la tabla de la derecha (Categoria, subcategoria, etc).

select
p.id, p.nombre_prod, c.nombre_cat, s.nombre_subCat
from
producto p
left join
prod_cat_subcat pcs on pcs.id_prod = p.id
left join
categoria c on c.id = pcs.id_cat
left join
subcategoria s on s.id = pcs.id_subcat
where s.id = 1;

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *