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 = 7148 
WHERE 
  cscart_products_categories.product_id IN (
    99003, 99004, 99005, 99006, 99007, 99008, 
    99009, 99010, 99011, 99056, 99057, 
    99058, 99059, 99060, 99061, 99062, 
    99063, 99064, 99065, 99066, 99067, 
    99133, 99141, 99142, 99151, 99152, 
    99169, 99170, 99248, 99257, 99262, 
    99322, 99323, 99324, 99325, 99326, 
    99327, 99328, 99329, 99333, 99334, 
    99335, 99336, 99337, 99338, 99339, 
    99340, 99341
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00166

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "58.18"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 102,
            "rows_produced_per_join": 102,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "10.50",
              "eval_cost": "10.20",
              "prefix_cost": "20.70",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (99003,99004,99005,99006,99007,99008,99009,99010,99011,99056,99057,99058,99059,99060,99061,99062,99063,99064,99065,99066,99067,99133,99141,99142,99151,99152,99169,99170,99248,99257,99262,99322,99323,99324,99325,99326,99327,99328,99329,99333,99334,99335,99336,99337,99338,99339,99340,99341))"
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 5,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "25.50",
              "eval_cost": "0.51",
              "prefix_cost": "56.40",
              "data_read_per_join": "13K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 5,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.28",
              "eval_cost": "0.51",
              "prefix_cost": "58.18",
              "data_read_per_join": "81"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
99003 7194M
99004 7194M
99005 7194M
99006 7194M
99007 7194M
99008 7194M
99009 7194M
99010 7194M
99011 7194M
99056 7241,7309,7346,7208M
99057 7241,7309,7346,7208M
99058 7241,7309,7346,7208M
99059 7241,7309,7346,7208M
99060 7241,7309,7346,7208M
99061 7241,7309,7346,7208M
99062 7241,7309,7346,7208M
99063 7241,7309,7346,7208M
99064 7241,7309,7346,7208M
99065 7241,7309,7346,7208M
99066 7341,7342,7343,7157M
99067 7241,7309,7346,7208M
99133 7263M
99141 7263M
99142 7263M
99151 7263M
99152 7263M
99169 7263M
99170 7263M
99248 7263M
99257 7263M
99262 7263M
99322 7263M
99323 7263M
99324 7241,7309,7346,7208M
99325 7241,7309,7346,7208M
99326 7241,7309,7346,7208M
99327 7241,7309,7346,7208M
99328 7241,7309,7346,7208M
99329 7241,7309,7346,7208M
99333 7194M
99334 7194M
99335 7194M
99336 7194M
99337 7194M
99338 7194M
99339 7194M
99340 7194M
99341 7194M