Как мы фильтруем структурные типы данных с помощью SQL?

#sql #google-bigquery #mode-analytics

#sql #google-bigquery #режим-аналитика

Вопрос:

Я использую mode analytics, в котором в таблице указан структурный тип данных.

введите описание изображения здесь

Доступные примерные значения приведены ниже. У меня есть номер обращения, и я хочу выполнить фильтрацию по этому номеру, чтобы получить все соответствующие строки.

введите описание изображения здесь

Комментарии:

1. Я довольно запутался в том, какое отношение структурный тип данных имеет к образцу данных. Лучшие образцы данных и желаемые результаты помогут.

Ответ №1:

Используйте следующий оператор SELECT в BigQuery в стандартном SQL:

 WITH data as (
 select 'Mobile' as channel, struct(struct(123 as accountid, 'afdw' as caseid, 124 as casenumber) as `case`, null as message, 'field' as status, null as gateway) as context
 union all
 select 'Mobile' as channel, struct(struct(123 as accountid, 'afdw' as caseid, 125 as casenumber) as `case`, null as message, 'field' as status, null as gateway) as context
)
select * from data where context.case.casenumber = 125;
 

WITH предложение используется для имитации данных в вашей таблице

Комментарии:

1. Это может работать в большом запросе, но, к сожалению, в режиме «Запросы этого типа не поддерживаются»