Tsql 左联接SQL后更改列值

Tsql 左联接SQL后更改列值,tsql,Tsql,我有以下声明: select distinct x_order.code , x_order.status , x_order.project , project.active , project.code as projectcode from project left join x_order on x_order.project = project.code where status = 'B' and active = 0 这给了我一个很好的表格,里面有我想要更改的所有记录。我现在需要

我有以下声明:

select distinct x_order.code , x_order.status , x_order.project , project.active , project.code as projectcode
from project
left join x_order on x_order.project = project.code
where status = 'B' and active = 0
这给了我一个很好的表格,里面有我想要更改的所有记录。我现在需要将此表中“状态”列中的值从B更改为D。我该怎么做?
我尝试了更新,但没有成功。

不确定您正在使用的确切表结构,但CTE会像这样为您工作吗

;WITH CTE
AS (
    select distinct x_order.code as ordercode , x_order.status , x_order.project , project.active , project.code as projectcode
    from project
    left join x_order on x_order.project = project.code
    where status = 'B' and active = 0
    )
UPDATE X 
    SET [status] = 'D'
FROM x_order X
JOIN CTE C
    ON X.code = C.ordercode

您是如何尝试使用更新的?你为什么需要这种独特的东西?这能回答你的问题吗?请阅读一些关于改进您的问题的提示。