SELECT
cscart_products_categories.product_id,
GROUP_CONCAT(
IF(
cscart_products_categories.link_type = "M",
CONCAT(
cscart_products_categories.category_id,
"M"
),
cscart_products_categories.category_id
)
) AS category_ids,
product_position_source.position AS position
FROM
cscart_products_categories
INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id
AND cscart_categories.storefront_id IN (0, 1)
AND (
cscart_categories.usergroup_ids = ''
OR FIND_IN_SET(
0, cscart_categories.usergroup_ids
)
OR FIND_IN_SET(
1, cscart_categories.usergroup_ids
)
)
AND cscart_categories.status IN ('A', 'H')
LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id
AND product_position_source.category_id = 22
WHERE
cscart_products_categories.product_id IN (
89591, 89586, 89585, 89584, 89583, 89121,
89120, 89119, 89118, 89117, 89116,
89089, 89088, 89087, 89695, 89549,
89548, 89547, 89482, 89283, 89097,
89096, 89095, 89094, 89093, 89091,
89050, 89049, 89048, 89508, 89507,
89506, 89505, 89504, 89025, 89024,
89023, 89022, 89021, 89020
)
GROUP BY
cscart_products_categories.product_id