2

如何返回 4 列中所有值组合的列表,以便它们成为 Microsoft SQL Server 2012 中的新行,例如

c1 c2 c3 c4
1个
2个

并将其变成

c1 c2 c3 c4
1个
1 年
1个
1个

依此类推,所有 (2X2X2X2)=16 行,4 列

2列的类似解决方案已得到回答

返回 SQL 中列上所有可能的值组合

我需要 4 列的解决方案

4

2 回答 2

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
于 2013-09-10T10:52:11.543 回答
2

由于您提供的链接有一个很好的答案,修改如下

select 
  distinct
  t1.C1,
  t2.C2,
  t3.C3,
  t4.C4
from 
  MyTable t1,
  MyTable t2,
  MyTable t3,
  MyTable t4
于 2013-09-10T10:50:05.403 回答