Tengo un problemilla con una consulta y realmente ya no se si es posible hacer lo que me propongo.
Mi intención es listar productos para una gestión de stock en el listado aparecen el nombre de los diseños previamente filtrados por familias y subfamilias, cada linea devuelta por la consulta debe devolver el nombre del diseño , el umbral que tiene dentro del almacen y la cantidad de productos por talla.
Todas las tablas que utilizado están relacionadas entre sí, ya sea de manera directa o indirecta por lo que creo que si es posible hacerlo.
Hasta ahora he conseguido que me muestre toda la información que quiero, lo que no consigo es que me sume las unidades de cada talla para que se muestren en una sola línea agrupadas por el diseño.
Esta es la consulta que utilizo:
Código sql:
Ver original
SELECT d.nombre, IF(p.talla=9,SUM(pa.unidades),0) AS CL, IF(p.talla=8,SUM(pa.unidades),0) AS CM, IF(p.talla=7,SUM(pa.unidades),0) AS CS, IF(p.talla=2,SUM(pa.unidades),0) AS L, IF(p.talla=1,SUM(pa.unidades),0) AS M, IF(p.talla=10,SUM(pa.unidades),0) AS NT, IF(p.talla=3,SUM(pa.unidades),0) AS S, IF(p.talla=4,SUM(pa.unidades),0) AS XL, pa.umbral FROM disenyos AS d, productos AS p, productos_almacenes AS pa WHERE p.disenyo=d.id AND pa.producto=p.id AND p.id IN (SELECT p.id FROM productos AS p, familias AS f, subfamilias AS sf WHERE p.subfamilia=sf.id AND f.id=sf.familia AND sf.borrado='0' AND f.borrado='0' AND p.borrado='0' AND p.subfamilia='209' AND sf.familia='30') AND d.borrado='0' AND pa.almacen='1' GROUP BY p.id ORDER BY d.nombre ASC
Si agrupo por el id o nombre de diseño me suma todas las unidades de todas las tallas, si agrupo por id del producto tal y como muestro arriba me salen tantas líneas por diseño como tallas tiene ese producto pero la suma de las unidades por talla está correcta.
Lo ideal sería que en una sola línea apareciese el nombre del diseño y cada talla con la suma de unidades que quedan dentro del almacen.
Gracias de antemano y un saludo!