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 (
96860, 96859, 96858, 96857, 96856, 96855,
96854, 96853, 96852, 96851, 96850,
96849, 96848, 96058, 96888, 96045,
96044, 96042, 96041, 96000, 96690,
96689, 96688, 96687, 96686, 96685,
96684, 96683, 96682, 96681, 96680,
96679, 96678, 96677, 96676, 96643,
96640, 96639, 96638, 96637
)
GROUP BY
cscart_products_categories.product_id