Предположим, что таблица выглядитSQL - возвращает все уникальные пары значений из одного столбца, для каждого значения в другом столбце
col1 col2
---- ----
1 a
2 a
3 a
4 b
5 b
6 b
и я хочу, чтобы все пары из col1 для каждого значения в col2, означая результат должен выглядеть следующим образом:
col1a col1b col2
---- ----- ----
1 2 a
1 3 a
2 3 a
4 5 b
4 6 b
5 6 b
Я пытался использовать
temp1 cross join temp2 where temp1.col1 < temp2.col1 order by temp1.col1, temp2.col1
как часть полного запроса, б Это не возвращает все возможные комбинации. Также я не уверен, как написать «для каждой» части команды, как в «для каждого значения в col2, создать все пары из значения в col1». Любые рекомендации будут высоко оценены.
Я потерян, как генерируются пары? – deW1
Пара - это всего лишь все возможные пары двух вещей в col1, которые связаны с тем же значением в col2. Так, например, все в наборе {1,2,3} находится в col1, и все они связаны со значением 'a' в col2, поэтому пары являются {(1,2), (1,3), (2,3)} – yjc