如果为null,则插入数据

时间:2018-07-12 04:22:08

标签: sql oracle11g

任何人都可以帮助我,当程序在运行表 Rekon 时,它在 oracle 中具有过程,它从另一个表获取数据以创建数据,但是问题是,当表 Rekon 中另一个表中的数据为null(空)时,它为null,但是我仍想在我的 Rekon 表中保留数据,例如模板: / p>

NO_ACC|ttrx|Amount    
1111  |USD |2200
      |SGD |5410
      |total|7610

但是当where子句substr(NARATION,1,3)='SGD'中另一个表中的数据为空时 桌子的样子:

NO_ACC|ttrx|Amount    
1111  |USD |2200
      |total|2200

这是我的查询

insert into datamart.rekon_801_ugm_sm
        select to_char(no_acc) no_acc, 'USD' ttrx, sum(amount) amount from (select 
            * from rekon_801_ugm where no_acc = 1111 and substr(narasi,9,4)='1112' 
            or substr(narasi,37,4)='1112') group by no_acc 
            union all
        select to_char(no_acc) no_acc, 'SGD' as ttrx, sum(amount) amount from (select 
            * from rekon_801_ugm where no_acc = 8010000487 and substr(narasi,9,2)='88' 
            or substr(narasi,37,2)='88') group by no_acc
            union all
        select ' ' as no_acc, 'TOTAL TRANSAKSI H2H' as ttrx, sum(amount) amount from (select 
            * from rekon_801_ugm where no_acc = 1111 and debet_kredit = 'K') group by no_acc 

1 个答案:

答案 0 :(得分:0)

您在所有子查询中都使用具有恒定条件的acc_no 如果要使用空值,则必须使用类似

的值替换此条件

(acc_no = 8010000487或acc_no为空)