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 (
96636, 96635, 96634, 96633, 96632, 96631,
96630, 96629, 96628, 96627, 96626,
95927, 95925, 95924, 95919, 95918,
95917, 95916, 95915, 95914, 95913,
95912, 95911, 95910, 95909, 95908,
95907, 95906, 95905, 95904, 95903,
95902, 95901, 95900, 95899, 96116,
96115, 95890, 95889, 95888
)
GROUP BY
cscart_products_categories.product_id