Не можете да разрешите този проблем с текущия си дизайн, без да вмъкнете някаква логика на ниво тригер или приложение. FOREIGN KEY
s не може да препраща към повече от една таблица (разбирам вашия дизайн да използвате една таблица за група продукти, ако греша, моля, уведомете ме). Освен това те не могат да съдържат никаква условна логика, така че дори ако имате една product_groups
таблица не можете да създадете FOREIGN KEY
който позволява само G1 и G2 записите от тази таблица.
За да постигнете това със стандартни ограничения за релационна цялост, ще ви трябва допълнителна таблица, наречена нещо като approvable_products
който ще съдържа product_ids
от тези продукти, които са в група едно или група две.