Как вы связываете серию запросов в Google Bigquery? - PullRequest
0 голосов
/ 13 июня 2019

В Google Bigquery я пытаюсь настроить ряд запросов для выполнения по расписанию.Хотя я могу настроить каждый запрос для запуска по расписанию, я ищу решение для запуска одной объединенной серии запросов по расписанию.

Что не работает, так это то, что в Bigquery он не позволяет мне соединять серии запросов с помощью точки с запятой.Итак, я пытаюсь выяснить, есть ли другой способ сделать это в Bigquery.

SELECT id, first_name, last_name, phone_number, email, time_stamp
FROM XXA
UNION DISTINCT
SELECT id, first_name, last_name, phone_number, email, time_stamp
FROM XXB
UNION DISTINCT
SELECT id, first_name, last_name, phone_number, email, time_stamp
FROM XXC; 

SELECT id, a.first_name, a.last_name, a.phone_number, a.email, b. call_number, b.booked, b.call_status
FROM XXD a
LEFT JOIN XXE b 
USING (unique_id); 

Когда я запускаю эти запросы по отдельности, они работают нормально.Однако, когда я запускаю эти два в одном запросе (связанном точкой с запятой), второй запрос, начинающийся с SELECT, показывает сообщение об ошибке.

1 Ответ

0 голосов
/ 13 июня 2019

BQ будет возвращать только 1 результат за один раз.Рассмотрим веб-интерфейс BQ ... куда вообще пойдет второй набор результатов?
Вы выбираете только данные, поэтому, если вам нужны все эти данные, подумайте, где вы их используете.Если вы будете вставлять данные в отдельные листы Excel (например), тогда имеет смысл выполнять отдельные запросы.Если они будут вставлены в один лист, рассмотрите возможность объединения их вместе и добавления столбцов NULL , где это необходимо.

...