UPDATE / MERGE должен соответствовать не более одной исходной строки для каждой целевой строки Bigquery - PullRequest
0 голосов
/ 14 февраля 2019

пытается обновить таблицу в bigquery, но получает сообщение об ошибке, в котором указано:

"UPDATE / MERGE должен соответствовать не более одной исходной строки для каждой целевой строки"

  update Data_Layer.ClassCategories cc
  set cc.MovmentTypeId = t.MovementTypeId,
  cc.IntensityId = t.IntensityId
  FROM
  AloomaTest.testfile t
   where cc.CategoryId  = t.CategoryId 

Тогда я попробовал этоquery

update Data_Layer.ClassCategories cc
set cc.MovmentTypeId = (select MovementTypeId from AloomaTest.testfile t 
where cc.CategoryId  = t.CategoryId ), 
cc.IntensityId = (select IntensityId from AloomaTest.testfile t where 
cc.CategoryId  = t.CategoryId )
where cc.CategoryId IN ( select CategoryId from AloomaTest.testfile)

Получил эту ошибку Ошибка: Скалярный подзапрос создал более одного элемента

Пример данных для тестового файла enter image description here

Пример данных дляКлассы категорий enter image description here

при попытке обновить поля категорий классов ovementtype и intestitype

...