¿Cómo obtengo todas las combinaciones de datos de una tabla MySQL?

He pasado las últimas cinco horas tratando de obtener cada combinación de opciones de productos de una mesa, pero ahora estoy totalmente atascado. Tengo una tabla con datos como (simplificado):

CREATE TABLE `assigned_options` (
  `option_id` int(10) unsigned NOT NULL DEFAULT '0',
  `value_id` int(10) unsigned NOT NULL DEFAULT '0',
);

INSERT INTO `assigned_options` (`value_id`, `option_id`) VALUES
(4, 2),
(3, 2),
(2, 1),
(1, 1),
(5, 3),
(6, 3),
(7, 3);

Supongamos que la opción ID 2 es color con las variaciones rojo (4) y azul (3), opción id 1 tamaño, etc.

¿Es posible hacer esto con una consulta de MySQL? He intentado usar PHP para hacer una función recurrente para obtener todas las posibilidades, pero simplemente no puedo hacer que funcione.

Cualquier consejo muy apreciado. :)

Respuestas a la pregunta(3)

Su respuesta a la pregunta