SELECT
vi_products_categories.product_id,
GROUP_CONCAT(
IF(
vi_products_categories.link_type = "M",
CONCAT(
vi_products_categories.category_id,
"M"
),
vi_products_categories.category_id
)
) AS category_ids
FROM
vi_products_categories
INNER JOIN vi_categories ON vi_categories.category_id = vi_products_categories.category_id
AND vi_categories.storefront_id IN (0, 1)
AND (
vi_categories.usergroup_ids = ''
OR FIND_IN_SET(0, vi_categories.usergroup_ids)
OR FIND_IN_SET(1, vi_categories.usergroup_ids)
)
AND vi_categories.status IN ('A', 'H')
WHERE
vi_products_categories.product_id IN (
12, 148, 5, 23, 1, 149, 79, 238, 239, 172,
167, 280, 282, 278, 8, 150, 13
)
GROUP BY
vi_products_categories.product_id