我需要根据列[Session]
填充列[WTYPE]
WHERE NULL
| session | wtype |
+---------+--------+
| ewrtewt | null |
| ewrtewt | PRISPN |
| yuioplm | null |
| yuioplm | LRISCO |
| ewrtewt | null |
| tyuiolt | PRISPN |
| tyuiolt | null |
所以无论哪里有一个WTYPE
,我需要查看会话值,并确保将WTYPE
复制到所有具有匹配的SESSION
。
假设您已经明确了每个会话是否可以有多个值(因为我们需要知道选择哪个),那么您可以使用可更新的CTE,如下所示:
with w as (
select *, Max(wtype) over(partition by session) newwtype
from t
)
update w
set wtype = newwtype
where wtype is null;