Hola plantala:
No entiendo muy bien para qué te serviría esto pero bueno, esa es otra cuestión... Una forma para hacer esto sería aplicar el concepto de PRODUCTO CARTESIANO entre tablas... en un producto cartesiano la idea es combinar todos los elementos de una tabla contra todos y cada uno de los elementos de otra tabla... es decir, obtener todas las combinaciones posibles... Para el ejemplo creé tres tablas con los 5 valores posibles que puede tomar, es decir algo como esto:
Código MySQL:
Ver original+-------+
| campo |
+-------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+-------+
+-------+
| campo |
+-------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+-------+
+-------+
| campo |
+-------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+-------+
Ahora bien, al hacer hacer un producto cartesiano entre las tres tablas obtengo todas las combinaciones posibles... para evitar los registros "duplicados" es decir (1,2,3)(2,1,3)(3,1,2)... o combinaciones como estas (1,1,1)(2,2,2)... lo que hago es hacer que A siempre sea mayor a B y B siempre sea mayor a C
Código MySQL:
Ver original -> WHERE tablaA.campo
< tablaB.campo
-> AND tablaB.campo
< tablaC.campo
-> ORDER BY tablaA.campo
, tablaB.campo
, tablaC.campo
; +-------+-------+-------+
| campo | campo | campo |
+-------+-------+-------+
| 1 | 2 | 3 |
| 1 | 2 | 4 |
| 1 | 2 | 5 |
| 1 | 3 | 4 |
| 1 | 3 | 5 |
| 1 | 4 | 5 |
| 2 | 3 | 4 |
| 2 | 3 | 5 |
| 2 | 4 | 5 |
| 3 | 4 | 5 |
+-------+-------+-------+
10 rows
in set (0.00 sec
)
No se si esto es lo que querías obtener, dale un vistazo y nos comentas si te sirvió.
saludos
Leo.