如果某个值相同,则为所有其他出现的python指定一个特定值

时间:2019-04-08 18:07:59

标签: sql sql-server

我有一个名为#havehu的临时表,其中有患者,PersonID,遭遇和ICDcode的数据。有一个称为小肠结肠炎的列,其值为1和0。换句话说,如果患者患有小肠结肠炎,则将其分配为1,如果未患有该疾病,则将其分配为0。 我需要实现这一目标-如果某人的任何遭遇都拥有1,则他/她必须为所有遭遇分配1。

注意-病人的个人编号是相同的,但每次访问的遭遇编号都会更改。而且,我有7000多名患者和35,000次遭遇

1 个答案:

答案 0 :(得分:0)

一种方法使用可更新的CTE和窗口函数:

with toupdate as (
      select h.*,
             max(Entrocolitis) over (partition by Personid) as person_e
      from #havehu h
     )
update toupdate
    set Entrocolitis = max_e
    where Entrocolitis is null or Entrocolitis <> max_e;