根据另一个字段的 ID 使用相同的值更新一个字段

Updating one field with the same value based on the ID of another field

我正在处理的 table 具有以下类型的数据:

Emp_ID Name State
1112 joe CA
1112 bob Null
1112 lisa Null

我想做的是让其中一条记录在 'State' 字段中有值,例如上面 table 中的 'CA',和其他具有相同 Emp_ID 的记录为 Null,它们将被替换为 'CA' 值,因此它看起来像这样:

Emp_ID Name State
1112 joe CA
1112 bob CA
1112 lisa CA

所以 IF Emp_ID 在州字段中有一个不为空的值 THEN 如果 Emp_ID 与具有状态值的状态相同,则状态字段中的状态值。

我的大部分研究都将我指向 DML 命令,例如更新问题集,但我无权更改 table 数据而不解决我要解决的问题的具体细节。

正在寻找有关如何可能解决此问题的方向。

使用可更新的 CTE 在我脑海中浮现:

WITH cte AS (
    SELECT *, MAX(State) OVER (PARTITION BY Emp_ID) AS MaxState
    FROM yourTable
)

UPDATE cte
SET State = MaxState
WHERE State IS NULL;