Обновить таблицу, установив значение поля в результате запроса - PullRequest
0 голосов
/ 03 марта 2020

У меня есть следующая структура таблицы (назовем это Sales):

Table Structure

Я хотел бы заполнить поле "SalesID" "со значениями, полученными в результате запроса, который я создал в той же базе данных. Этот запрос отражает структуру таблицы, поэтому я думал соединить их с помощью идентификатора.

По сути, я пытаюсь использовать сценарии следующих форм:

UPDATE Sales 
SET SalesID = ( SELECT  SalesIDCalc FROM (SELECT Sales.ID, Sales.[Email Address], Sales.[Points], IIf([Points] >80,"Super","Normal") AS SalesIDCalc FROM Sales) AS q 
WHERE Sales.ID = q.ID);

, но я не рядом с решение. Есть ли у вас какие-либо идеи о том, как действовать?

РЕДАКТИРОВАТЬ : теперь я получаю сообщение об ошибке «Операция должна использовать обновляемую таблицу»

1 Ответ

2 голосов
/ 03 марта 2020

Я думаю, что вы хотите UPDATE с коррелированным подзапросом:

UPDATE Sales
    SET SalesID = (SELECT SalesIDCalc
                   FROM (MyQuery) as q
                   WHERE Sales.ID = q.ID
                  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...