在同一列上使用CUBE两次以输出经过验证的结果

时间:2015-06-30 08:48:55

标签: sql sql-server sql-server-2012

假设我有一个由int值组成的表,只有一列具有1,2,3等值,称为Number

当我尝试:

SELECT Number,Number FROM Table Group By Number WITH CUBE

它返回:

Number  Number
------  ------
 1       1
 2       2
 3       3

我期待它返回更像这样的东西:

Number  Number
------  ------
 1       1
 1       2
 1       3
 2       1
 2       2
 2       3

依此类推......(每种组合)

这怎么可能,WITH CUBE似乎没有在这里削减它。

1 个答案:

答案 0 :(得分:3)

您似乎想要笛卡尔积:

SELECT a.Number, b.Number 
FROM [Table] a, [Table] b

或者,另一种写作方式:

SELECT a.Number, b.Number 
FROM [Table] a CROSS JOIN [Table] b