在同一列上两次使用CUBE来输出计算结果

控制怪胎

假设地,我有一个表,该表仅由int值组成,其中只有一列具有诸如1,2,3etc之类的,称为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似乎并没有在这里削减。

SQL警察

似乎您想要笛卡尔积:

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

或者,另一种写法:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章