ORACLE SQL 根据其他字段将 null 值替换为以前的值

ORACLE SQL Replace null values with previous value depending on other fields

提问人:Erick Yoan 提问时间:8/10/2022 更新时间:8/10/2022 访问量:53

问:

在查询中,我想替换“cod_account”字段的空值,填写此字段的条件是,只有当它满足其他字段(cod_agen、cod_sub、no_prod)的先前记录相等时,它才必须采用前一个值。 目前是这样的:在这里输入图片描述

想要的是

在此处输入图像描述

Oracle 替换 null

评论

1赞 OldProgrammer 8/10/2022
请不要发布文本/数据的图像。没有人可以对此运行查询。你尝试过什么?

答:

0赞 Erick Yoan 8/10/2022 #1

谢谢你的建议。我解决它

使用 with 分隔查询。

select

   case when cod_account is null and class ='Primary'
   then null
  when cod_account is null and class='Secundary'
  then (select cod_account from principals P--principals is table create in a "with"
         where fa.cod_agen=P.cod_agen
         and fa.cod_sub=P.cod_sub
         and fa.no_prod=P.no_prod
         and p.class='secundary'



   )
...

from signs fa