jjjigu Posted March 7, 2013 Share Posted March 7, 2013 (edited) Hola, por más vueltas que le dado al foro y al google, no encuentro exactamente lo que busco. Lo que necesito es realizar una consulta para exportar los productos con sus combinaciones (sabores, colores, ..) y el stock de cada uno de esos atributos. La versión que uso es la 1.5 de prestashop y he probado módulos como moussiq, multiexport pero no me funciona de manera correcta. Si hay ha conseguido realizar esta consulta agradecería que la compartiera. Gracias. Edited March 9, 2013 by jjjigu (see edit history) Link to comment Share on other sites More sharing options...
jjjigu Posted March 7, 2013 Author Share Posted March 7, 2013 Hola, he generado, este código y funciona: SELECT p.id_product Identificador, pl.name Producto, al.name Sabor, p.quantity Cantidad FROM ps_product_attribute p LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_product_attribute_combination pac ON (p.id_product_attribute=pac.id_product_attribute) LEFT JOIN ps_attribute_lang al ON (pac.id_attribute = al.id_attribute) WHERE pl.id_lang = 4 AND al.id_lang = 4 El problema es que no varía el stock en la base de datos (el quantity) ni en los que tienen atributos ni en los que no, es decir en el back office pone ona cantidad y en la base de datos otra, ¿como puede ser? Link to comment Share on other sites More sharing options...
mefiss Posted March 9, 2013 Share Posted March 9, 2013 eso solo puede ser por una cosa,ese quantity no es el que tienes que cojer,sera otro de otra tabla, tu mismo lo dices en el back pone una cosa y en la bd otra es o que no es el mismo campo o que se modifica el numero por codigo(no creo) lo ke esta claro es que el numero del back sale de algun sitio , y lo mas seguro es que sea de un quantity de otra tabla Link to comment Share on other sites More sharing options...
jjjigu Posted March 9, 2013 Author Share Posted March 9, 2013 (edited) En efecto el quantity que usaba no era el correcto, el que me hacía falta era el de la tabla ps_stock_available. Os dejo la consulta corregida y varia que he hecho por si a alguien le hace falta. He creato un valor de atributo llamado TOTAL (el número 40 en mi caso). He añadido una línea a la tabla ps_product_attribute_combination, con los valores 0 para id_product_attribute, y el valor del atributo creado (40 en mi caso) para id_attribute. Esto lo hago con el fin de que muestre en la misma consulta tanto los productos que tienen atributos como los que no, ya que por defecto les asigna a cada producto que no lleva atributos el valor 0 en el id_product_atribute. Para Añadir a la tabla: INSERT INTO `ps_product_attribute_combination`(`id_attribute`, `id_product_attribute`) VALUES (40,0) Consulta para sacar el stock total de la tienda: SELECT p.id_product Identificador, pl.name Producto, al.name Sabor, p.quantity Cantidad FROM ps_stock_available p LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_product_attribute_combination pac ON (p.id_product_attribute = pac.id_product_attribute) LEFT JOIN ps_attribute_lang al ON (pac.id_attribute = al.id_attribute) WHERE pl.id_lang = 4 AND al.id_lang = 4 Este sería filtrando por fabricantes: SELECT p.id_product Identificador, pl.name Producto, al.name Sabor, p.quantity Cantidad FROM ps_stock_available p LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_product pr ON (pl.id_product = pr.id_product) LEFT JOIN ps_product_attribute_combination pac ON (p.id_product_attribute = pac.id_product_attribute) LEFT JOIN ps_attribute_lang al ON (pac.id_attribute = al.id_attribute) WHERE pl.id_lang = 4 AND al.id_lang = 4 AND pr.id_manufacturer = 5 Hay que tener en cuenta el id del idioma en mi caso 4 es el español. Espero que os sirva de ayuda. Edited March 9, 2013 by jjjigu (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now