How to delete Specific row
You need a subquery like this for the products_cross , so that Mysql has a temporary table to select the wanted ids


CREATE TABLE IF NOT EXISTS `products_cross` (
  `id` int(6) unsigned NOT NULL,
  `GRPCD` int(10) unsigned NOT NULL,
  `brand` int(5) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `products_cross` (`id`, `GRPCD`, `brand`) VALUES
  ('1', '33111', '107'),
  ('2', '33111', '103'),
  ('3', '44111', '105'),
  ('4', '44111', '101');




SELECT * FROM products_cross


id | GRPCD | brand
-: | ----: | ----:
 1 | 33111 |   107
 2 | 33111 |   103
 3 | 44111 |   105
 4 | 44111 |   101




DELETE FROM `products_cross` 
WHERE GRPCD NOT IN (SELECT GRPCD FROM (SELECT * FROM products_cross ) pc WHERE brand=107) 




SELECT * FROM products_cross


id | GRPCD | brand
-: | ----: | ----:
 1 | 33111 |   107
 2 | 33111 |   103


db&lt;&gt;fiddle here