更新T-SQL中下一个或上一个记录的值

问题描述 投票:0回答:1

我在T-SQL中具有下表:表1:

enter image description here

根据[MedicationCategory]汇总,我需要将[DrugClassificationFK]字段中的-1值更新为非-1值

因此,例如,对于“氟替卡松” MedicationCategory,所有“ -1”记录也应等于98作为WHID = 1182的记录

这是我需要看到的结果:enter image description here

在T-SQL中(在SSMS中,有什么方法吗?

((在Access中,我可以将此表分为两个值,分别为“ -1”和非“ -1”值,然后使用非“ -1”的新tbl更新原始表,并加入[MedicationCategory])]

更优雅的方式?

谢谢...

function tsql split ssms
1个回答
0
投票
UPDATE Z
SET Z.DRUGCLASSIFICATIONFK=S.MAX_DRUGC
FROM MedicationCategory Z
INNER JOIN(SELECT MedicationCategory,MAX(DRUGCLASSIFICATIONFK) AS MAX_DRUGC
FROM TABLE1
GROUP BY MedicationCategory) S ON S.MedicationCategory=M.MedicationCategory

希望此查询适合您的情况:

注意:未经测试

© www.soinside.com 2019 - 2024. All rights reserved.