No puede resolver este problema con su diseño actual sin interponer alguna lógica en el nivel de activación o de aplicación. FOREIGN KEY
s no puede hacer referencia a más de una tabla (entiendo que su diseño usa una tabla por grupo de productos, si me equivoco, hágamelo saber). Además, no pueden contener ninguna lógica condicional, por lo que incluso si tiene un solo product_groups
tabla no puede crear una FOREIGN KEY
que solo permite los registros G1 y G2 de esa tabla.
Para lograr esto con restricciones de integridad relacional estándar, necesitaría una tabla adicional llamada algo así como approvable_products
que contendría los product_ids
de aquellos productos que están en el grupo uno o en el grupo dos.