Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Consulta SQL para filtrar Productos de "X" Categoria

Cuestiones sobre cómo utilizar Dolibarr, ayudas sobre las funcionalidades o cualquier cuestión que no está relacionada con un error.
roymx
Novato
Mensajes: 55
Registrado: Mié, 06/03/2013, 21:04

Consulta SQL para filtrar Productos de "X" Categoria

Mensaje por roymx »

Buen dia a toda la comunidad dolibarr espero y alguien me pueda ayudar con una consulta sql que quier formular

Esta consulta que me arroja todos los productos del inventario "a la venta" y con ref que comience con "cv" quiero aplicarle un flitro de CATEGORIA DE PRODUCTO, que solo los productos con id de categoria "36" aparescan en la consulta. solo que desconosco que haya que modificarle.

Código: Seleccionar todo

SELECT DISTINCT p.rowid as id, p.ref as ref, p.label as Descripcion, p.stock as Stock, p.desiredstock- p.stock as Max_x_comprar, pf.unitprice as  Compra, p.tosell as En_Venta FROM llx_product as p LEFT JOIN llx_product_extrafields as extra ON p.rowid = extra.fk_object LEFT JOIN llx_product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN llx_societe s ON s.rowid = pf.fk_soc WHERE p.fk_product_type = 0 AND p.entity IN (1) and p.ref LIKE 'cv%' and p.tobuy=1

con esta consulta saco las categorias y los id de productos (si de algo sirve)

Código: Seleccionar todo

extra.fk_object LEFT JOIN llx_product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN llx_societe s ON s.rowid = pf.fk_soc WHERE p.fk_product_type = 0 AND p.entity IN (1) and p.ref LIKE 'cv%' and p.tobuy=1 and u.rowid=36
Necesito ayuda para modificar el codigo del comienzo para que solo me muestre los productos con id "36"

Agradesco enormemente sus aportaciones. Un saludo

roymx
Novato
Mensajes: 55
Registrado: Mié, 06/03/2013, 21:04

Mensaje por roymx »

Buenas tardes?

Alguien que me pueda apoyar con esto?

Miguel AR
Novato
Mensajes: 24
Registrado: Mié, 21/09/2016, 12:42

Mensaje por Miguel AR »

Buenas

Tu consulta sin modificar

Código: Seleccionar todo

SELECT DISTINCT p.rowid AS id, p.ref AS ref, p.label AS Descripcion, p.stock AS Stock, p.desiredstock- p.stock AS Max_x_comprar, pf.unitprice AS Compra, p.tosell AS En_Venta
FROM llx_product AS p
LEFT JOIN llx_product_extrafields AS extra ON p.rowid = extra.fk_object
LEFT JOIN llx_product_fournisseur_price AS pf ON pf.fk_product = p.rowid
LEFT JOIN llx_societe s ON s.rowid = pf.fk_soc
WHERE p.fk_product_type = 0 AND p.entity IN (1) AND p.ref LIKE 'cv%' AND p.tobuy=1
Si solo quieres sacar los que esten en la categoria 36, seria como a continuacion

Código: Seleccionar todo

SELECT DISTINCT p.rowid AS id, p.ref AS ref, p.label AS Descripcion, p.stock AS Stock, p.desiredstock- p.stock AS Max_x_comprar, pf.unitprice AS Compra, p.tosell AS En_Venta
,cp.fk_categorie
FROM llx_product AS p
LEFT JOIN llx_product_extrafields AS extra ON p.rowid = extra.fk_object
LEFT JOIN llx_product_fournisseur_price AS pf ON pf.fk_product = p.rowid
LEFT JOIN llx_societe s ON s.rowid = pf.fk_soc
INNER JOIN llx_categorie_product cp ON cp.fk_product = p.rowid
WHERE p.fk_product_type = 0 AND p.entity IN (1) AND p.ref LIKE 'cv%' AND p.tobuy=1 AND cp.fk_categorie = 36
No se muy bien lo que intentas conseguir, pero solo habria que enlazar con la tabla categoria producto.

Un saludo.

ramiroques
Novato
Mensajes: 40
Registrado: Jue, 13/12/2012, 14:13
Ubicación: Bolivia

Mensaje por ramiroques »

SELECT DISTINCT p.rowid AS id, p.ref AS ref, p.label AS Descripcion, p.stock AS Stock, p.desiredstock - p.stock AS Max_x_comprar, pf.unitprice AS Compra, p.tosell AS En_Venta
FROM llx_product AS p
LEFT JOIN llx_product_extrafields AS extra ON p.rowid = extra.fk_object
LEFT JOIN llx_product_fournisseur_price AS pf ON pf.fk_product = p.rowid
LEFT JOIN llx_societe s ON s.rowid = pf.fk_soc
LEFT JOIN llx_categorie_product cp ON cp.fk_product = p.rowid
WHERE p.fk_product_type =0
AND p.entity
IN ( 1 )
AND p.ref LIKE 'al%'
AND cp.fk_categorie =36
AND p.tobuy =1