Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 помочь с комбинаторикой  [new]
wickedru
Member

Откуда: СПб
Сообщений: 52
Добрый день!
Есть таблица вида:
KomplID
567
767
872
897
925



KomplID не повторяются

DECLARE @kompls TABLE (KomplID int not null) 
INSERT INTO @kompls VALUES
(567),(767),(872),(897),(925);


Нужно получить следующее:

id KomplID
1 567
2 767
3 872
4 897
5 925
6 567
6 767
7 567
7 767
7 872
8...


и т.д.

Т.е. все комбинации первых ( в данном случае) 5 элементов.

Подскажите, пожалуйста, в каком направлении копать?
16 июл 14, 15:01    [16312865]     Ответить | Цитировать Сообщить модератору
 Re: помочь с комбинаторикой  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Все комбинации - это битовая карта чисел от 1 до двойки в степени количества элементов.
Привяжите каждое число к номеру бита и получите жаелаемое

0001 567
0010 767
0011 567 767
0100 872
и т.д.
16 июл 14, 15:10    [16312922]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить