如何使用update和关键字编写sql语句?
我有下面的SQL查询,它可以完美地工作并显示结果如何使用update和关键字编写sql语句?,sql,sql-server,Sql,Sql Server,我有下面的SQL查询,它可以完美地工作并显示结果 WITH tbl1 AS ( SELECT tbl2.[PERSON_NAME] AS tbl2_name, * FROM [tableToUpdate] tbl2 ) SELECT tbl1.[PERSON_NAME], tbl3.[name] FROM tbl1 LEFT JOIN [tableFirstJoin] tbl3 ON tbl3.[name] = tbl2_name
WITH tbl1 AS
(
SELECT
tbl2.[PERSON_NAME] AS tbl2_name, *
FROM [tableToUpdate] tbl2
)
SELECT
tbl1.[PERSON_NAME], tbl3.[name]
FROM
tbl1
LEFT JOIN
[tableFirstJoin] tbl3 ON tbl3.[name] = tbl2_name
INNER JOIN
[tableSecondJoin] tbl4 ON tbl4.[matchColumn] = tbl3.[matchColumn]
WHERE
tbl1.[PERSON_NAME] is not null
但我现在想向它添加一个类似于此的update语句
UPDATE [tableToUpdate]
SET [column1] = tbl4.[column1], [column2] = tbl4.[column2]
FROM [tableToUpdate] tbl5
因此,我想在with语句中更新同一个表中的列,但要使用外部的值
有人知道如何编写查询来执行此更新吗?如果要通过cte进行更新,语法为:
WITH cte AS (SELECT field FROM tbl)
UPDATE t1
SET t1.field = t2.field
FROM cte t1
INNER JOIN othertable t2 ON t1.field = t2.otherfield
你有错误吗?我只是不确定update语句适用于哪里?