Sql 如何生成m列中n行的排列或组合?

Sql 如何生成m列中n行的排列或组合?,sql,combinations,Sql,Combinations,有人知道如何从n行的表中创建m列的表,其中每行的列中的值表示原始表中不同的值组合或排列吗 例如,原始表有1列(数字值)和3行(n=3): 包含两个值(m=2)的组合(顺序无关紧要)的表格如下: number1, number2 1,2 1,3 2,3 number1, number2 1, 2 2, 1 1, 3 3, 1 2, 3 3, 2 排列表如下所示: number1, number2 1,2 1,3 2,3 number1, number2 1, 2 2, 1 1, 3 3, 1

有人知道如何从n行的表中创建m列的表,其中每行的列中的值表示原始表中不同的值组合或排列吗

例如,原始表有1列(数字值)和3行(n=3):

包含两个值(m=2)的组合(顺序无关紧要)的表格如下:

number1, number2
1,2
1,3
2,3
number1, number2
1, 2
2, 1
1, 3
3, 1
2, 3
3, 2
排列表如下所示:

number1, number2
1,2
1,3
2,3
number1, number2
1, 2
2, 1
1, 3
3, 1
2, 3
3, 2
行的顺序并不重要

提前谢谢你

组合:

SELECT T1.x, T2.x
FROM your_table T1
JOIN your_table T2
ON T1.x < T2.x
我假设原始表中的值是唯一的


为了推广更大的m值,您需要添加更多的联接。

看起来像是Niko问题的一般解决方案,他需要在一个表上进行联接。T2=T1。