Sql更新语句中的服务器查询问题
Sql Server query problem in Update Statement
我有 Table 个工作,其中我有一个列名称 MainJob_Id 名称
所以我只想将 Container_TypeId 列值更新为 1,2,3...继续...
当 MainJob_id 相同时...
else MainJob_id 是新的然后从 1
重新开始
预期结果
尝试使用可更新的 CTE:
WITH cte AS (
SELECT ContainerTypeId,
ROW_NUMBER() OVER (PARTITION BY MainJob_Id ORDER BY LengthId DESC) rn
FROM yourTable
)
UPDATE cte
SET ContainerTypeId = rn;
但是,您可能不想执行此更新,而只是 select 您在查询时想要的序列。
我有 Table 个工作,其中我有一个列名称 MainJob_Id 名称 所以我只想将 Container_TypeId 列值更新为 1,2,3...继续... 当 MainJob_id 相同时...
else MainJob_id 是新的然后从 1
重新开始预期结果
尝试使用可更新的 CTE:
WITH cte AS (
SELECT ContainerTypeId,
ROW_NUMBER() OVER (PARTITION BY MainJob_Id ORDER BY LengthId DESC) rn
FROM yourTable
)
UPDATE cte
SET ContainerTypeId = rn;
但是,您可能不想执行此更新,而只是 select 您在查询时想要的序列。