Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用update和关键字编写sql语句?_Sql_Sql Server - Fatal编程技术网

如何使用update和关键字编写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

我有下面的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
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语句适用于哪里?