在BigQuery(SQL)中构造笛卡尔联接的干净方法

问题描述 投票:0回答:1

我有多个列表,我想使用SQL构造这些列表的笛卡尔联接。我想知道您是否比下面的方法更干净。谢谢

with letters_table AS (Select letters from UNNEST(['A','B','C']) letters)

,numbers_table AS (Select numbers from UNNEST([1,2,3]) numbers)

select letters,numbers,concat(letters,'-',numbers) as concat
from letters_table
cross join
numbers_table
sql join google-bigquery cartesian-product
1个回答
0
投票

您的查询看起来不错,但是没有理由使用CTE:

select letter, number, concat(letter, '-', number) as concat
from unnest(['A', 'B', 'C']) letter cross join
     unnest([1, 2, 3]) number
© www.soinside.com 2019 - 2024. All rights reserved.