Например есть таблица следюущего вида :
ИД1 ИД2 ДАННЫЕ
1 1 1
1 1 2
1 1 4
1 2 2
1 2 1
1 2 2
1 2 3
3 1 1
3 1 5
3 1 2
3 1 4
3 1 1
Ключом является пара колонок ИД1 и ИД2, нужно найти пересечения множеств значений в рамках одного уникального значения ключа
То есть из таблицы получается три множества
a) 1,2,4 ( ИД1 = 1, ИД2 = 1 )
б) 2,1,2,3 ( ИД1 = 1, ИД2 = 2 )
в) 1,5,2,4,1 ( ИД1 = 3, ИД2 = 1 )
Нужно их сравнить и вычислить пересечение, получим 3 множества, из них 2 одинаковы
1) а П б — 2,1
2) а П в — 1,2,4
3) б П в — 2,1
И далее необходимо сгрупирровать и посчитать одинаковые множества , т.е. в нашем случае результирующей таблицей будет
ИД ЭЛЕМЕНТ КОЛВО
1 2 2
1 1 2
2 1 1
2 2 1
2 4 1
Можно ли этот алгоритм реализовать в виде SQL запроса ?