我有一个源表A,其值低于
Source A:
id, r_dt cancel_dt
1 null null
2 null 04-10-2018
3 04-08-2018 null
3 04-09-2018 null
3 null null
Target B
id, t_dt
1 04-09-2018
2 04-09-2018
3 04-08-2018
在某一天,我们可能会从来源获取重复值,我们需要应用一些条件来更新目标
所以例如:我们必须使用loan_id对数据进行分组 如果我们得到null r_dt和null c_dt那么我们什么都不做
如果我们得到带有取消dt的空dt行和带有取消取消dd的r_dt行 选择r_dt值并更新到tgt。
如果我们在group by之后得到2个r_dt行,则执行r_dt
的最大值我怎样才能在oracle sql中提出这个逻辑
请指导我
答案 0 :(得分:0)
请在下面试试,我无法验证:
更新b 设置t_dt =(选择解码(r_dt为空且cancel_dt不为空,null,r_dt不为空,Max(r_dt))来自a.id = b.id)