SELECT
v.product_id,
v.feature_id,
v.value,
v.value_int,
v.variant_id,
f.feature_type,
fd.description,
fd.prefix,
fd.suffix,
vd.variant,
f.parent_id,
f.position,
gf.position as gposition
FROM
cscart_product_features as f
LEFT JOIN cscart_product_features_values as v ON v.feature_id = f.feature_id
LEFT JOIN cscart_product_features_descriptions as fd ON fd.feature_id = v.feature_id
AND fd.lang_code = 'en'
LEFT JOIN cscart_product_feature_variants fv ON fv.variant_id = v.variant_id
LEFT JOIN cscart_product_feature_variant_descriptions as vd ON vd.variant_id = fv.variant_id
AND vd.lang_code = 'en'
LEFT JOIN cscart_product_features as gf ON gf.feature_id = f.parent_id
AND gf.feature_type = 'G'
INNER JOIN cscart_ult_objects_sharing ON (
cscart_ult_objects_sharing.share_object_id = f.feature_id
AND cscart_ult_objects_sharing.share_company_id = 1
AND cscart_ult_objects_sharing.share_object_type = 'product_features'
)
WHERE
f.status IN ('A')
AND v.product_id in (370)
AND f.display_on_catalog = 'Y'
AND f.feature_id in (18)
AND (
f.categories_path = ''
OR FIND_IN_SET(308, f.categories_path)
OR FIND_IN_SET(3, f.categories_path)
OR FIND_IN_SET(13, f.categories_path)
OR FIND_IN_SET(48, f.categories_path)
OR FIND_IN_SET(49, f.categories_path)
OR FIND_IN_SET(6, f.categories_path)
OR FIND_IN_SET(200, f.categories_path)
OR FIND_IN_SET(51, f.categories_path)
OR FIND_IN_SET(53, f.categories_path)
OR FIND_IN_SET(55, f.categories_path)
OR FIND_IN_SET(56, f.categories_path)
OR FIND_IN_SET(57, f.categories_path)
OR FIND_IN_SET(192, f.categories_path)
OR FIND_IN_SET(60, f.categories_path)
OR FIND_IN_SET(61, f.categories_path)
OR FIND_IN_SET(244, f.categories_path)
OR FIND_IN_SET(62, f.categories_path)
OR FIND_IN_SET(119, f.categories_path)
OR FIND_IN_SET(64, f.categories_path)
OR FIND_IN_SET(65, f.categories_path)
OR FIND_IN_SET(181, f.categories_path)
OR FIND_IN_SET(67, f.categories_path)
OR FIND_IN_SET(68, f.categories_path)
OR FIND_IN_SET(69, f.categories_path)
OR FIND_IN_SET(70, f.categories_path)
OR FIND_IN_SET(71, f.categories_path)
OR FIND_IN_SET(226, f.categories_path)
OR FIND_IN_SET(73, f.categories_path)
OR FIND_IN_SET(122, f.categories_path)
OR FIND_IN_SET(74, f.categories_path)
OR FIND_IN_SET(75, f.categories_path)
OR FIND_IN_SET(76, f.categories_path)
OR FIND_IN_SET(77, f.categories_path)
OR FIND_IN_SET(79, f.categories_path)
OR FIND_IN_SET(80, f.categories_path)
OR FIND_IN_SET(81, f.categories_path)
OR FIND_IN_SET(82, f.categories_path)
OR FIND_IN_SET(83, f.categories_path)
OR FIND_IN_SET(84, f.categories_path)
OR FIND_IN_SET(85, f.categories_path)
OR FIND_IN_SET(86, f.categories_path)
OR FIND_IN_SET(87, f.categories_path)
OR FIND_IN_SET(88, f.categories_path)
OR FIND_IN_SET(89, f.categories_path)
OR FIND_IN_SET(90, f.categories_path)
OR FIND_IN_SET(91, f.categories_path)
OR FIND_IN_SET(254, f.categories_path)
OR FIND_IN_SET(273, f.categories_path)
OR FIND_IN_SET(275, f.categories_path)
OR FIND_IN_SET(281, f.categories_path)
OR FIND_IN_SET(2, f.categories_path)
OR FIND_IN_SET(8, f.categories_path)
OR FIND_IN_SET(304, f.categories_path)
OR FIND_IN_SET(306, f.categories_path)
)
AND IF(
f.parent_id,
(
SELECT
status
FROM
cscart_product_features as df
WHERE
df.feature_id = f.parent_id
),
'A'
) IN ('A')
AND (
v.variant_id != 0
OR (
f.feature_type != 'C'
AND v.value != ''
)
OR (f.feature_type = 'C')
OR v.value_int != ''
)
AND v.lang_code = 'en'
ORDER BY
fd.description,
fv.position