всё-таки не совсем понятно что Вы ищете - к примеру почему в Вашем списке решений нет варианта
Вы, скорее всего, зря тратите время. ТС написал 6 сообщений в 2015-м году, потом на пять лет пропал, создал этот топик и пропал опять.
и какой именно диалект SQL Вы планируете использовать ? У меня есть ощущение что задачу проще решить не средствами SQL
Я тоже ничего не понял в постановке задачи, но если сыграть в игру "угадай, в чем могла бы заключаться задача", то я бы предположил, что подойдет любой диалект, в котором есть recursive CTE (это который
with recursive as (select ...)) - там все возможные комбинации должны находиться довольно просто.