2014-01-03 2 views
9

У меня есть база данных BigQuery, где ежедневные данные загружаются в собственную таблицу. Поэтому у меня есть таблицы с именем "20131201", "20131202" и т.д. Я могу написать фиксированный запрос "сливаться" эти таблицы, выполнив:Динамический запрос нескольких таблиц в BigQuery

SELECT * FROM db.20131201, db.20131202 ...

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

SELECT * FROM дб *

который в настоящее время не работает.. Я бы хотел избежать создания гигантского стола. Есть ли работа, которую я могу сделать, или это должен быть запрос функции?

Конечная цель - подключение данных Tableau ко всем таблицам.

+2

Это интересный запрос! –

+1

Согласен, это было бы интересной особенностью! Концепция Views в BigQuery позволит сделать это и даст большую гибкость. – YABADABADOU

+1

В моем опыте выбор * в большом запросе плох, и это действительно замедляет процесс. – Mariatta

ответ

3

Это не совсем то, что вы имеете просил, но я сумел использовать https://developers.google.com/bigquery/query-reference#tablewildcardfunctions в частности

TABLE_DATE_RANGE (префикс, timestamp1, timestamp2)

для достижения аналогичного результата для использования в картинах. Вам все равно нужно предоставить 2 параметра даты, но это значительно лучше, чем динамическое создание предложения FROM.

Надеюсь, это поможет.

0

В настоящее время в Google BigQuery этот динамический Sql [как «ВЫПОЛНИТЬ SQL» в MSSQLServer] не ... sulry строения Google будет выглядеть Inthis я верю :)

Смежные вопросы