【发布时间】:2020-09-08 06:50:00
【问题描述】:
我有一个包含以下行和列的表格
id line rsn_cd rsn_amt svc_cd svc_dt AMT_1 AMT_2 AMT_3 AMT_4 AMT_5
1 1 XA 15 AB 01/01/2020 10 20 30 40 50
1 2 XA 15 AC 01/15/2020 0 0 10 0 30
2 1 XB 10 AX 02/10/2020 35 40 50 12 0
2 2 XB 10 AZ 02/15/2020 12 51 90 12 0
根据条件,如果 RSN_AMT IS NOT NULL 并且 RSN_CD = XA,我必须插入一个行号 = 100 的新行。如果 RSN_AMT IS NOT NULL 和 RSN_CD = XB,我必须插入一个新行有 line number = 200。下面是我想要的结果。从 AMT_1 到 AMT_5 的数量必须设置为 0,并且 svc_cd 必须为空。新记录中的 svc_dt 必须具有给定 id 的最新行 svc_dt。
id line rsn_cd rsn_amt svc_cd svc_dt AMT_1 AMT_2 AMT_3 AMT_4 AMT_5
1 1 XA 15 AB 01/01/2020 10 20 30 40 50
1 2 XA 15 AC 01/15/2020 0 0 10 0 30
1 100 XA 15 null 01/15/2020 0 0 0 0 0
2 1 XB 10 AX 02/10/2020 35 40 50 12 0
2 2 XB 10 AZ 02/15/2020 12 51 90 12 0
2 200 XB 10 null 02/15/2020 0 0 0 0 0
请帮我解决这个问题,谢谢。
【问题讨论】:
标签: sql oracle conditional-statements