如何返回4列中所有值组合的列表,以便它们是Microsoft SQL Server 2012中的新行 e.g。
c1 c2 c3 c4 1 a g x 2 b h y
并将其转换为
c1 c2 c3 c4 1 a g x 1 a g y 1 a h x 1 a h y
依此类推4列中的所有(2X2X2X2)= 16行
已经回答了2列的类似解决方案
Return all possible combinations of values on columns in SQL
我需要4列的解决方案
答案 0 :(得分:5)
使用交叉连接
select
t1.c1,
t2.c2,
t3.c3,
t4.c4
from
yourtable t1 cross join
yourtable t2 cross join
yourtable t3 cross join
yourtable t4
答案 1 :(得分:2)
由于您提供的链接有一个很好的答案,修改如下
select
distinct
t1.C1,
t2.C2,
t3.C3,
t4.C4
from
MyTable t1,
MyTable t2,
MyTable t3,
MyTable t4