我正在尝试使用一个MERGE
语句来使用单个源 (CTE) 更新 2 个表。当我只使用 1 个合并时它有效,但是当我添加第二个时,它返回一个错误:
消息 208,级别 16,状态 1,过程 mn_SeoUrl_UpdateBulk,第 46 行
无效的对象名称“ cte ”。
是否可以通过合并更新 2 个表?如果可能的话,我做错了,我希望有人可以告诉我这样做的正确方法是什么。
任何帮助深表感谢。
谢谢你。
这是我的失败代码(错误的列名):
WITH cte AS
(
SELECT
[u].[col1], [u].[col2], [u].[col3],
CASE
WHEN [u].[col1] LIKE 'L%'
THEN 'c/' + [u].[col2] + '/' + [u].[col3]
WHEN [u].[col1] LIKE 'M%'
THEN 'm/' + [u].[col2] + '/' + [u].[col3]
END [col4]
FROM
(SELECT
[st1].[col1], [st1].[col2], [st1].[col3]
FROM
[dbo].[sourcetable1] [st1]
INNER JOIN
[dbo].[sourcetable2] [st2] ON [st1].[ID] = [st2].[ID]
WHERE
[pd].[col2] <> 0) …
Run Code Online (Sandbox Code Playgroud)