У меня есть набор данных с чередованием, похожий на «Partitioning by date?», но в некоторые дни нет данных и, следовательно, нет дней. Идеальным решением было бы сделать все таблицы (даты) необязательными. Это возможно?Как сделать таблицы необязательными в запросе Bigquery
Подробнее: Если вы выполните выбор из последовательности, следующей за последовательностью [main.2013-08-01], [main.2013-08-02], ... каждая таблица должна существовать. Если какая-либо из этих таблиц не существует, bigquery отвечает на ошибку 500 при попытке выполнить запрос. Используя термин «факультативный», я надеюсь на синтаксис, который позволил бы какой-либо конкретной таблице не существовать, но запрос, который все еще выполняется против других таблиц в сумме. Пример того, на что я надеюсь: возможно, запрос говорит SELECT * от? [Main.2013-08-01],? [Main.2013-08-02], ... но [main.2013-08-02 ] не существует. Допустим, потому что у него есть?? индикатор перед таблицей считается факультативным, и запрос все еще выполняется успешно, и я получаю результаты, но только из [main.2013-08-01] и любых других таблиц, которые действительно существуют.
В настоящее время я решаю эту проблему, сначала сделав запрос на список таблиц набора данных, а затем сравним с осколками, которые я на самом деле хочу запросить для существования и слияния таблиц (например, я хочу, чтобы все дни в августе, bigquery подсказывает мне что 7/27 не существует, поэтому мой блок FROM будет содержать список всех осколков данных EXCEPT 7/27), но этот метод сложный и включает в себя две поездки с большими запросами, поэтому он не кажется идеальным.
Я не уверен, что понимаю, что вы имеете в виду, делая таблицы необязательными. –
Я отредактировал вопрос с более подробной информацией, которая, надеюсь, очистит его! – OverclockedTim