Я хочу преобразовать приведенный ниже запрос Legacy SQL в стандартный SQL. Проблема, с которой я столкнулся, заключается в том, что мне нужно отключить две таблицы (метки и кредиты). Как я могу преобразовать этот запрос? Спасибо!
Каждый раз, когда я пытаюсь переписать этот запрос, я сталкиваюсь со «Скалярным подзапросом, созданным более чем одним элементом» (см. Ниже).
Устаревший запрос SQL, который я пытаюсь переписать:
SELECT
service.description,
sku.description,
usage_start_time,
usage_end_time,
labels.key,
labels.value,
cost,
usage.amount,
project.name,
credits.name,
credits.amount
FROM
flatten([gcp_billing_data.gcp_billing_export],
credits)
Что я пробовал до сих пор в стандартном SQL:
SELECT
service.description AS service,
sku.description AS sku,
usage_start_time,
usage_end_time,
l.key,
l.value,
cost,
usage.amount AS usage,
project.name AS project,
c.name AS credit,
c.amount
FROM
`gcp_billing_data.gcp_billing_export`,
UNNEST(labels) AS l,
UNNEST(credits) AS c
Group by 1,2,3,4,5,7,8,9,10,11
Этот запрос выполняется, но количество строк значительно меньше, чем я ожидал.
(select l.value from unnest(labels) as l)
на(select string_agg(l.value) from unnest(labels) as l)
- person Mikhail Berlyant   schedule 24.04.2019