HTTP версия 1.1 добавила специальный HTTP-метод, CONNECT - предназначенный для создания SSL-туннеля, включая необходимое согласование протокола и криптографическую настройку. После этого обычные запросы отправляются в туннель SSL, заголовки и составные части.
Мне удалось получить запрос, который работает, но мне любопытно, есть ли более лаконичный способ его построения (все еще учимся!).
blockquote>Основываясь на представленной вами схеме и предполагая, что ваш запрос действительно возвращает то, что вы ожидаете - ниже «оптимизированной» версии должен возвращаться тот же результат
#standardSQL WITH companies AS ( SELECT o.companyid AS companyid, STRUCT(o.properties.name.value, o.properties.name.timestamp) AS name, STRUCT(o.properties.industry.value, o.properties.industry.timestamp) AS industry, STRUCT(o.properties.lifecyclestage.value, o.properties.lifecyclestage.timestamp) AS lifecyclestage FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY o.companyid ORDER BY o._sdc_batched_at DESC) AS seqnum FROM `project.hubspot.companies` o ) o WHERE seqnum = 1 ) SELECT companyid, name.value AS name, industry.value AS industry, lifecyclestage.value AS lifecyclestage FROM companies
Как видите, я просто удалил [111 ] потому что у вас уже есть только одна запись / строка для каждой компании после подачи заявки
WHERE seqnum = 1
, поэтому нет никакой причины группировать только одну строку для каждой компании. По той же самой причине я удалилARRAY_AGG( ORDER BY)[SAFE_OFFSET(0)]
- она просто агрегировала одну структуру, а затем извлекла этот один элемент из массива - поэтому нет необходимости делать это