Чистый способ построения декартовых объединений в BigQuery (SQL) - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть несколько списков, и я хочу построить декартовы объединения этих списков, используя 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

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Еще менее подробная версия (BigQuery Standard SQL)

SELECT letters,numbers, letters || '-' || numbers AS `concat`
FROM letters_table, numbers_table
0 голосов
/ 01 апреля 2020

Ваш запрос выглядит нормально, но нет причин использовать CTE:

select letter, number, concat(letter, '-', number) as concat
from unnest(['A', 'B', 'C']) letter cross join
     unnest([1, 2, 3]) number
...