Оператор MERGE в BigQuery завершается с ошибкой: «произошла внутренняя ошибка, и запрос не может быть обработан» - PullRequest
0 голосов
/ 09 мая 2018

Я выполняю ниже оператор `MERGE`` в BigQuery и получаю ошибку:

"произошла внутренняя ошибка и не удалось обработать запрос"

Что я делаю не так?

SQL1:

MERGE INTO
  testdataset.bq_pars_table TGT
USING
  (
  SELECT
    ID,
    NAME,
    TOTAL,
    AVG_amt,
        CREATED_AT
  FROM
    testdataset.bq_pars_table_copy_merge ) SOURCE
ON
  (TGT.ID = SOURCE.ID )
  WHEN MATCHED  THEN  UPDATE   SET  TGT.avg_amt = SOURCE.avg_amt
  WHEN NOT MATCHED
  THEN
INSERT
  (ID,
    NAME,
    TOTAL,
    AVG_amt,
       CREATED_AT)
VALUES
  ( SOURCE.ID, SOURCE.NAME, SOURCE.AVG, SOURCE.CREATED_AT)

SQL2:

Ниже можно выполнить и обновить необходимые данные.

MERGE INTO
  testdataset.bq_pars_table TGT
USING
  (
  SELECT
    ID,
    NAME,
    TOTAL,
    AVG_amt,
        CREATED_AT
  FROM
    testdataset.bq_pars_table_copy_merge ) SOURCE
ON
  (TGT.ID = SOURCE.ID )
  WHEN MATCHED  THEN  UPDATE   SET  TGT.avg_amt = SOURCE.avg_amt

1 Ответ

0 голосов
/ 27 июня 2018

проблема с вашим запросом - несопоставленный столбец вставки и списки значений. В списке имен столбцов 5 столбцов, а в списке значений - 4. Кажется, вы пропустили общее значение в списке значений.

В этом случае BQ должен выдавать явное сообщение вместо внутренней ошибки. Мы будем работать над этим.

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