【发布时间】:2021-07-18 16:41:55
【问题描述】:
我有这个查询来更新临时表中的列。
WITH CTE AS
(
SELECT
[dbo].[udf_Text](A.column1) AS [NewColumn1],
column1 AS [OldDesc],
ID_1, ID_2
FROM
[staging].[Table] A
)
UPDATE [staging].[Table]
SET [staging].[Table].column1 = CTE.[NewColumn1]
WHERE [staging].[Table].ID_1 = CTE.ID_1 AND ID_2 = CTE.ID_2
我要做的是提取 CTE 中的旧列,然后使用应用了 UDF 的新列对其进行更新。所以我写了这个查询,我得到了这个错误。
消息 207,第 16 层,状态 1,第 45 行
列名“NewColumn1”无效
我怎样才能做到这一点,或者如果有更好的方法来解决这个问题?
【问题讨论】:
-
我认为您可能缺少 from 子句
-
您认为
CTE_AR引用的具体内容是什么?您的 CTE 名为CTE! -
@Sam332 以下任一答案是否解决了您的问题?如果是这样,请考虑接受一个。
标签: sql sql-server tsql common-table-expression