У меня возникла проблема, и мне нужна ваша помощь.Я пытаюсь обновить значение, используя CTE.
Я создал свой CTE, используя следующий скрипт:
;WITH CTE AS
(
SELECT TOP 1
TABLE1.objectid AS [carrier_object_id], cardNo
FROM
TABLE1
INNER JOIN
TABLE2 ON TABLE1.objectid = TABLE2.carrierobjectid
ORDER BY
cardNo DESC
)
После этого я пытаюсь написатьобновление с запросом на обновление, как показано ниже:
UPDATE [db].[dbo].[freefieldassignment]
SET [db].[dbo].[freefieldassignment].value = CAST((CTE3.cardNo) + 1 AS VARCHAR(300))
WHERE [db].[dbo].[freefieldassignment].[carrierobjectid] = '90465607'
Как видите, я пытаюсь установить значение cte равным freefiledassignment.value, но при выполнении скрипта появляется ошибка:
Не удалось связать многоэлементный идентификатор "CTE.cardNo".
Может кто-нибудь сказать мне, что мне не хватает в этой ситуации, потому что я пытаюсь понять этоно я не могу.Спасибо за ваше время.