列的叉积[关闭]
Posted
技术标签:
【中文标题】列的叉积[关闭]【英文标题】:Cross product of columns [closed] 【发布时间】:2013-11-26 10:44:32 【问题描述】:我们如何对表的列进行叉积。
假设我有包含这些数据的表格。
Name Age spend Gender
De 26 10 M
Fu 27 29 F
我想要的输出应该是
De 26 10 M
Fu 26 10 M
De 26 29 M
Fu 26 29 M
De 27 10 M
Fu 27 10 M
De 27 29 M
Fu 27 29 M
....
我通过将所有列放在一个过程中的不同表中来做同样的事情。
【问题讨论】:
【参考方案1】:你可以试试这个吗?:
更新
你可以在这里测试。 http://sqlfiddle.com/#!2/9264d7/2/0
SELECT *
FROM
(
SELECT DISTINCT name
FROM test
) x CROSS JOIN
(
SELECT DISTINCT age
FROM test
) y CROSS JOIN
(
SELECT DISTINCT spent
FROM test
) z CROSS JOIN
(
SELECT DISTINCT gender
FROM test
) a;
【讨论】:
不,它不起作用。 @Java_Alert 已更新。我已经测试过了。似乎运作良好。 非常感谢这个解决方案有效!!! @Java_AlertDISTINCT
如果有唯一值,则不需要。以上是关于列的叉积[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
将 ORDER BY 语句添加到查询而不展平结果会导致“无法查询重复字段的叉积”