Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SQL e combinações exclusivas de n colunas


Sua consulta para 2 colunas pode ser reescrita assim:
SELECT
  c1.n,
  c2.n
FROM combinations c1
  INNER JOIN combinations c2 ON c1.n < c2.n

Para 3 colunas, você precisaria fazer algumas adições (destacadas em negrito):
SELECT
  c1.n,
  c2.n,
  c3.n
FROM combinations c1
  INNER JOIN combinations c2 ON c1.n < c2.n
  INNER JOIN combinations c3 ON c2.n < c3.n

Tenho certeza de que agora você pode adivinhar facilmente como dimensionar isso para mais colunas.