Как вставить результат запроса в существующую таблицу в Google BigQuery с помощью оператора SQL? - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть огромное_query_that_runs_fine_alone , которое начинается с select.

Я хочу вставить этот результат запроса в существующую таблицу, но обычные операторы SQL не работают.

Я пытался: вставить в test_ds.test_tbl (field1,…, fieldN) значения ( огромный_query_that_runs_fine_alone ), но редактор запросов говорит мне, что ключевое слово select в неожиданном месте;

И это: выберите* в test_ds.test_tbl из ( огромный_query_that_runs_fine_alone ), но редактор запросов говорит мне это Syntax error: Unexpected keyword INTO at [1:10];

Что делать?

PS Полный запрос ...

insert into test_bq_dataset.test_tbl (Naimenovanie_SKU, Naimenovanie_TT, MonthNo, YearNo, AmountPromo, SumPromo, AmountNoPromo, SumNoPromo) values (select promos.Naimenovanie_SKU, promos.Naimenovanie_TT, promos.MonthNo, promos.YearNo, AmountPromo, SumPromo, AmountNoPromo, SumNoPromo from
(select Naimenovanie_SKU, Naimenovanie_TT, MonthNo, YearNo, sum(Prodazhi_Litry) as AmountPromo, sum(Prodazhi_Summa_s_NDS) as SumPromo from IACloud0539_Calc.Data2_PROMO where Promo = false group by Naimenovanie_SKU, Naimenovanie_TT, MonthNo, YearNo) promos
left join
(select Naimenovanie_SKU, Naimenovanie_TT, MonthNo, YearNo, sum(Prodazhi_Litry) as AmountNoPromo, sum(Prodazhi_Summa_s_NDS) as SumNoPromo from IACloud0539_Calc.Data2_PROMO where Promo = true group by Naimenovanie_SKU, Naimenovanie_TT, MonthNo, YearNo) nopromos
on
promos.Naimenovanie_SKU = nopromos.Naimenovanie_SKU
and
promos.Naimenovanie_TT = nopromos.Naimenovanie_TT
and
promos.MonthNo = nopromos.MonthNo
and
promos.YearNo = nopromos.YearNo);

Syntax error: Unexpected keyword SELECT at [1:149]

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете просто разместить запрос SELECT под предложением INSERT, и он будет отлично работать

ex:

CREATE TABLE temp.mytest5 (col1 STRING, col2 STRING);

И вставка:

INSERT INTO temp.mytest5 (col1, col2) ВЫБРАТЬ «record1», «record2»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...