Sql 与..一起使用,与UPDATE一起使用

Sql 与..一起使用,与UPDATE一起使用,sql,sql-server,Sql,Sql Server,尽管查询本身运行良好,但我无法编译存储过程的以下部分: UPDATE t SET requestType= sp.requestType FROM #tempComp AS t, ( WITH CT AS ( ........ ) SELECT x, y, z FROM CT

尽管查询本身运行良好,但我无法编译存储过程的以下部分:

UPDATE t  
         SET   
            requestType= sp.requestType
      FROM #tempComp  AS t,
      (
          WITH CT AS
            (
                ........            )
            SELECT x, y, z
            FROM CT WHERE ab = 1
        )   AS sp  
      WHERE t.Id = sp.Id 
正确的组织方式是什么

正确的组织方式是什么

据报道,CTE排在第一位

[ WITH <common_table_expression> [...n] ]
UPDATE ...

您可以将通用表表达式放在更新的顶部,例如使用CT作为。。。使现代化
WITH CT AS
(
   ........
)
UPDATE t  
SET requestType = sp.requestType
FROM #tempComp AS t,
     ( SELECT x, y, z
       FROM CT
       WHERE ab = 1 ) AS sp  
WHERE t.Id = sp.Id