BigQuery UNNEST, включая пустые строки? - PullRequest
0 голосов
/ 12 апреля 2020

Для BigQuery мы можем извлечь специальные повторяющиеся структуры, используя UNNEST. Это работает очень хорошо, когда у вас есть данные в ключе структуры и его значении (одно из следующих: string, int или double). Однако иногда у меня есть структура с ключом ("foo") и часто с данными value.string_value, но не всегда. Следующее НЕ будет включать строку, когда отсутствует string_value:

SELECT
  event_timestamp,
  event_params_custom.value.string_value
FROM 
  `my_database.events_*` T,
  UNNEST(T.event_params) event_params_custom
WHERE
  event_name = "some_custom_event"
  AND event_params_custom.key = "foo"

Возможно ли сделать что-то похожее на "external join" и включить все строки, даже если нет значения для ключа "foo"

1 Ответ

2 голосов
/ 12 апреля 2020
#standardSQL
SELECT
  event_timestamp,
  (SELECT value.string_value FROM UNNEST(event_params) WHERE key = "foo") AS string_value
FROM 
  `my_database.events_*`
WHERE
  event_name = "some_custom_event"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...