Все возможные комбинации пар значений из колонки
Есть в таблице колонка "fruits"
apple
banana
mango
orange
Как можно написать sql запрос что бы на выходе получить (в массиве?) все возможные комбинации пар значений:
apple banana
apple mango
apple orange
banana apple
....
orange mango
Спасибо.
Ответы (2 шт):
Автор решения: frozencoast
→ Ссылка
SELECT array_agg(CONCAT(a.fruits, ' ', b.fruits))
FROM table as a, table as b
WHERE a.fruits <> b.fruits
либо
SELECT ARRAY(
SELECT CONCAT(a.fruits, ' ', b.fruits)
FROM table as a, table as b
WHERE a.fruits <> b.fruits
)
Автор решения: Ainar-G
→ Ссылка
Это же классический CROSS JOIN:
SELECT *
FROM t_1
CROSS JOIN t_1 AS t_2
WHERE t_1.title <> t_2.title
;