SELECT COUNT(DISTINCT id_producto) as total FROM (SELECT DISTINCT p.id_producto FROM mvd_productos p INNER JOIN mvd_productos_categorias_relacion cr ON cr.id_producto = p.id_producto
AND cr.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' LEFT JOIN mvd_productos_categorias c ON c.id_categoria = cr.id_categoria
AND c.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' WHERE cr.id_categoria = 42225 AND p.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' AND p.activo = '1' AND p.stock > 0 AND (p.producto_padre != '1' OR p.producto_padre IS NULL) AND (SELECT COUNT(DISTINCT atr_todos.id_atributo) FROM mvd_atributos_productos_relacion atr_todos
WHERE atr_todos.id_producto = p.id_producto
AND atr_todos.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND atr_todos.id_atributo IN (101)) = 1 AND (p.hijo_de = 0 OR p.hijo_de IS NULL OR p.id_producto = (
SELECT MIN(p3.id_producto)
FROM mvd_productos p3
INNER JOIN mvd_atributos_productos_relacion r3_grp ON r3_grp.id_producto = p3.id_producto
AND r3_grp.id_atributo = 101
AND r3_grp.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
INNER JOIN mvd_atributos_productos_relacion r_p ON r_p.id_producto = p.id_producto
AND r_p.id_atributo = 101
AND r_p.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND r3_grp.id_valor = r_p.id_valor
WHERE p3.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND p3.activo = '1'
AND p3.hijo_de = p.hijo_de
AND p3.hijo_de > 0
AND p3.stock > 0
AND (SELECT COUNT(DISTINCT a3c.id_atributo) FROM mvd_atributos_productos_relacion a3c
WHERE a3c.id_producto = p3.id_producto AND a3c.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND a3c.id_atributo IN (101)) = 1
)) UNION SELECT DISTINCT p.id_producto FROM mvd_productos p INNER JOIN mvd_productos_categorias_relacion cr ON cr.id_producto = p.id_producto
AND cr.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' LEFT JOIN mvd_productos_categorias c ON c.id_categoria = cr.id_categoria
AND c.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' WHERE cr.id_categoria = 42225 AND p.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' AND p.activo = '1' AND p.stock > 0 AND (p.producto_padre != '1' OR p.producto_padre IS NULL) AND (p.hijo_de = 0 OR p.hijo_de IS NULL OR COALESCE((
SELECT COUNT(DISTINCT ax_sf.id_atributo) FROM mvd_atributos_productos_relacion ax_sf
WHERE ax_sf.id_producto = p.id_producto AND ax_sf.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND ax_sf.id_atributo IN (101)), 0) < 1)) as productos_union
SELECT * FROM (SELECT DISTINCT
p.id_producto,
p.codigo,
COALESCE(p.nombre_producto_1, p.nombre_producto_2, p.nombre_producto_3) as nombre_producto,
p.nombre_variedad_1 as nombre_variedad,
COALESCE(p.descripcion_1, p.descripcion_2, p.descripcion_3) as descripcion,
p.descripcion_corta_1 as descripcion_corta,
p.stock,
p.precio,
p.precio_final,
p.precio_oferta,
p.precio_oferta_final,
p.producto_padre,
p.hijo_de,
p.orden,
p.visto,
p.vendido,
p.id_marca,
p.id_proveedor,
p.id_categoria,
p.id_moneda,
p.solo_multiplos,
p.solo_multiplos_multiplo,
p.solo_multiplos_minimo,
p.solo_multiplos_maximo FROM mvd_productos p INNER JOIN mvd_productos_categorias_relacion cr ON cr.id_producto = p.id_producto
AND cr.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' LEFT JOIN mvd_productos_categorias c ON c.id_categoria = cr.id_categoria
AND c.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' WHERE cr.id_categoria = 42225 AND p.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' AND p.activo = '1' AND p.stock > 0 AND (p.producto_padre != '1' OR p.producto_padre IS NULL) AND (SELECT COUNT(DISTINCT atr_todos.id_atributo) FROM mvd_atributos_productos_relacion atr_todos
WHERE atr_todos.id_producto = p.id_producto
AND atr_todos.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND atr_todos.id_atributo IN (101)) = 1 AND (p.hijo_de = 0 OR p.hijo_de IS NULL OR p.id_producto = (
SELECT MIN(p3.id_producto)
FROM mvd_productos p3
INNER JOIN mvd_atributos_productos_relacion r3_grp ON r3_grp.id_producto = p3.id_producto
AND r3_grp.id_atributo = 101
AND r3_grp.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
INNER JOIN mvd_atributos_productos_relacion r_p ON r_p.id_producto = p.id_producto
AND r_p.id_atributo = 101
AND r_p.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND r3_grp.id_valor = r_p.id_valor
WHERE p3.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND p3.activo = '1'
AND p3.hijo_de = p.hijo_de
AND p3.hijo_de > 0
AND p3.stock > 0
AND (SELECT COUNT(DISTINCT a3c.id_atributo) FROM mvd_atributos_productos_relacion a3c
WHERE a3c.id_producto = p3.id_producto AND a3c.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND a3c.id_atributo IN (101)) = 1
)) UNION SELECT DISTINCT
p.id_producto,
p.codigo,
COALESCE(p.nombre_producto_1, p.nombre_producto_2, p.nombre_producto_3) as nombre_producto,
p.nombre_variedad_1 as nombre_variedad,
COALESCE(p.descripcion_1, p.descripcion_2, p.descripcion_3) as descripcion,
p.descripcion_corta_1 as descripcion_corta,
p.stock,
p.precio,
p.precio_final,
p.precio_oferta,
p.precio_oferta_final,
p.producto_padre,
p.hijo_de,
p.orden,
p.visto,
p.vendido,
p.id_marca,
p.id_proveedor,
p.id_categoria,
p.id_moneda,
p.solo_multiplos,
p.solo_multiplos_multiplo,
p.solo_multiplos_minimo,
p.solo_multiplos_maximo FROM mvd_productos p INNER JOIN mvd_productos_categorias_relacion cr ON cr.id_producto = p.id_producto
AND cr.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' LEFT JOIN mvd_productos_categorias c ON c.id_categoria = cr.id_categoria
AND c.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' WHERE cr.id_categoria = 42225 AND p.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h' AND p.activo = '1' AND p.stock > 0 AND (p.producto_padre != '1' OR p.producto_padre IS NULL) AND (p.hijo_de = 0 OR p.hijo_de IS NULL OR COALESCE((
SELECT COUNT(DISTINCT ax_sf.id_atributo) FROM mvd_atributos_productos_relacion ax_sf
WHERE ax_sf.id_producto = p.id_producto AND ax_sf.id_cliente_mvd = 'c0gc6wokffrl0o5lj10h'
AND ax_sf.id_atributo IN (101)), 0) < 1)) AS sub_productos ORDER BY nombre_producto ASC, id_categoria ASC LIMIT 50