如何在BigQuery中实现无关联查询结果的全量映射(笛卡尔积)
在BigQuery中实现无关联字段的数据集全量组合
要将两个无共同字段的查询结果做全量映射组合,你可以使用CROSS JOIN(交叉连接),它会直接生成两个数据集的笛卡尔积——也就是第一个查询的每条记录,与第二个查询的所有记录逐一配对,完全匹配你的需求。
具体实现示例
假设输出A是日期查询结果、输出B是姓名查询结果,对应的SQL语句如下:
SELECT a.Date, b.Name FROM ( -- 替换为你的输出A的实际查询逻辑 SELECT Date FROM `your-project.your-dataset.your-table-a` ) a CROSS JOIN ( -- 替换为你的输出B的实际查询逻辑 SELECT Name FROM `your-project.your-dataset.your-table-b` ) b
注意事项
- CROSS JOIN不需要指定任何关联条件,直接返回所有可能的组合;
- 如果其中一个数据集记录量较大,笛卡尔积会快速膨胀数据规模,执行前请确认数据量是否在预期范围内,避免资源过载。
内容的提问来源于stack exchange,提问作者Avanish Shrestha
相关产品推荐
相关产品推荐

