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 (161, 190, 238, 239, 242)
GROUP BY
vi_products_categories.product_id