Jump to content

Consulta SQL - Stock disponible de productos


Recommended Posts

Buenas comunidad de Prestashop! Les escribo para compartir y consultar sobre un código SQL para mostrar una tabla que muestre los artículos ordenados por fabricante, con sus combinaciones (atributos) y stock correspondiente.

Cuando realizamos la consulta del campo 'quantity' de la tabla 'PS_stock_available', no devuelve la misma cantidad en la misma columna si el producto tiene combinación, por lo que hemos "improvisado" una segunda segunda columna para solventar temporalmente el problema.

De seguro es porque no está escrito correctamente, pero nos gustaría saber si es posible escribir la consulta SQL para que muestre en la misma columna tanto el stock disponible de un producto con combinación y sin combinación.

A la espera de su respuesta.

Un fuerte saludo!

SELECT MM.name AS MARCA, PP.name AS PRODUCTO, S.quantity AS STOCK_sin_combinaciones, concat(SS.quantity, " de ", GROUP_CONCAT(DISTINCT pal.name SEPARATOR "/")) AS STOCK_con_COMBINACIONES
FROM PS_product prd
LEFT JOIN PS_product_lang PP ON (prd.id_product =PP.id_product)
LEFT JOIN PS_stock_available S ON (PP.id_product = S.id_product)
LEFT JOIN PS_product_attribute pat ON (S.id_product = pat.id_product)
LEFT JOIN PS_product_attribute_combination pac ON (pat.id_product_attribute = pac.id_product_attribute)
LEFT JOIN PS_stock_available SS ON (pac.id_product_attribute = SS.id_product_attribute)
LEFT JOIN PS_attribute att ON (pac.id_attribute = att.id_attribute)
LEFT JOIN PS_attribute_group atg ON ( atg.id_attribute_group = att.id_attribute_group)
LEFT JOIN PS_attribute_group_lang atgl ON ( atgl.id_attribute_group = atg.id_attribute_group)
LEFT JOIN PS_attribute_lang pal ON (pac.id_attribute = pal.id_attribute AND pal.id_lang = atgl.id_lang)
LEFT JOIN PS_manufacturer MM ON (MM.id_manufacturer = prd.id_manufacturer)
WHERE PP.id_lang = 3
AND prd.active = 1
AND MM.id_manufacturer = 1
AND S.quantity != 0
GROUP BY prd.id_product, PP.name, pac.id_product_attribute
ORDER BY MM.id_manufacturer, PP.name, prd.id_product, pac.id_product_attribute ASC
LIMIT 1000

 

Edited by Ergrow (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...