如何交叉连接同一列(本身)

时间:2019-05-08 17:00:45

标签: sql google-bigquery standard-sql

我想交叉连接或创建一列直角乘积(本身),以显示所有可能的组合。

这是我的主意,但是在尝试运行它时遇到了一些错误:

SELECT Product_ID as 'Item1' and Product_ID as 'Item2'
FROM `bpd.js.fp`
CROSS JOIN `bpd.js.fp`
on Product_ID

结果看起来像这样(2列)

产品1产品1

产品1产品2

产品1产品3

产品2产品1

Product2 Product2

....

1 个答案:

答案 0 :(得分:1)

像笛卡尔积一样使用别名和CROSS JOIN而不使用ON子句。

SELECT T1.Product_ID AS Item1, T2.Product_ID AS Item2
FROM `bpd.js.fp` AS T1
CROSS JOIN `bpd.js.fp` AS T2