Может ли кто-нибудь помочь мне понять эквивалент TABLE_QUERY (dataset, expr) в стандартном Sql.

Я нашел это в документации Google для Legacy Sql:

#legacySQL
SELECT
  speed
FROM (TABLE_QUERY([myproject-1234:mydata],
                  'table_id CONTAINS "oo" AND length(table_id) >= 4'))

Я не нашел аналога выше в Standard SQl

1
Neha0908 3 Окт 2019 в 21:20

1 ответ

Лучший ответ
#standardSQL
SELECT speed
FROM `myproject-1234.mydata.*`
WHERE _TABLE_SUFFIX LIKE '%oo%'
AND LENGTH(_TABLE_SUFFIX) >= 4  

Важно: использование только * в качестве подстановочного знака для всего имени таблицы, например myproject-1234.mydata.*, является худшим случаем с точки зрения производительности.

В идеале суффикс таблицы должен быть настолько узким, насколько вы можете использовать - например, myproject-1234.mydata.myprefix_

Подробнее о таблицах подстановочных знаков

Кроме того, здесь вы можете узнать больше о Перенос устаревшей версии Функции с подстановочными знаками в таблицах SQL

1
Mikhail Berlyant 3 Окт 2019 в 18:46