Я пытаюсь выполнить запрос обновления с таблицей, которая присоединяется к себе, и я хочу присвоить столбцу M_USER
первую строку, которую возвращает оператор select.Я знаю, что в SQL Server я мог бы использовать TOP 1
, и я думаю, что эквивалент будет LIMIT 1
в Vertica.
Поэтому я попытался написать запрос с LIMIT 1
, но я получаю эту ошибку:
ERROR: Correlated subquery expression without aggregates and with limit is not supported
Вот мой запрос:
UPDATE REPORT.sub_2019 a
SET M_USER= (Select u.UPDATED_USER
from REPORT.sub_2019 u
where u.MBR_ID = a.MBR_ID
and u.NAME= a.NAME and u.STATUS_REASON = 'Pending' limit 1)
where a.RESULT is not null
Я просто хочу получить первый UPDATED_USER
, который возвращает подзапрос.Должен ли я использовать LIMIT или любой другой способ написания запроса?