Я пытаюсь внедрить волну обновлений на удаленный сервер. Вот запрос я использую:Обновление таблицы удаленного сервера
update openquery(portal_mysql2, 'select * from memberstest_SL')
set fte_actual= (select [Full-time_enrollment]
FROM [BIDEV].[dbo].[TBL_IPEDS_HISTORY_NEW]
inner join openquery(Portal_mysql2, ' select * from memberstest_SL') on cast(unitid as varchar) = Right(nces_agencyid, 6)
where [year] = Year(GetDate())-2
and [Full-time_enrollment] <> '0'
and [Full-time_enrollment] is not null
and cast(unitid as varchar) = Right(nces_agencyid, 6)
)
Это возвращает ошибку:
subquery returned more than one value
Который имеет смысл, потому что я пытаюсь обновить несколько записей с их соответствующими значениями в исходной таблице.
Кто-нибудь знает, как я могу это достичь?
об ошибке: Попробуйте использовать 'выберите TOP 1 [Full-time_enrollment]' в вашем подзапрос. Если вы не получите желаемый результат, вы должны изменить логику обновления – Marusyk
, используя top (1), заменит все в запросе на это первое значение; это не то, что я ищу делать – slevin37
Хорошо, тогда вам нужно больше объяснить, что вы хотите. Попробуйте использовать инструкцию UPDATE SELECT – Marusyk