sql - variaciones - ¿Cómo generar permutaciones o combinaciones de n filas en m columnas?
variacion combinacion y permutacion ejercicios resueltos (1)
¿Alguien sabe cómo crear una tabla con m columnas de tabla de n filas donde los valores en las columnas de cada fila representan una combinación diferente o permutación de valores de la tabla original?
Por ejemplo, la tabla original tiene 1 columna (número_valor) con 3 (n = 3) filas:
1
2
3
La tabla que contiene combinaciones (el orden no importa) de dos valores (m = 2) sería la siguiente:
number1, number2
1,2
1,3
2,3
y la tabla de permutaciones sería la siguiente:
number1, number2
1, 2
2, 1
1, 3
3, 1
2, 3
3, 2
El orden de las filas no importa.
¡Gracias de antemano!
Combinaciones
SELECT T1.x, T2.x
FROM your_table T1
JOIN your_table T2
ON T1.x < T2.x
Permutaciones:
SELECT T1.x, T2.x
FROM your_table T1
JOIN your_table T2
ON T1.x != T2.x
Supongo que los valores de la tabla original son únicos.
Para generalizar para valores mayores de m necesita agregar más uniones.