Oracle查询实现逻辑以检查百万条记录的问题

时间:2014-02-27 19:11:04

标签: mysql sql oracle

我有一张桌子A

 code_Value   key_value  Description
  12          12         Entry_Category5
  13          rrtt         Entry2
  20          tht          Entry6
  20          trt          Wntry9

表A有类似方式的百万条记录..

表B中实现了一个逻辑,它使用表A作为源

Code_value   Key_value       Description
    12          12            Entry_Category5

    13          rrtt          Entry2
    13          13            Null value

    20          tht            Entry6
    20          trt            Entry9
    20          20             Null value

逻辑是,在表A中,如果我有一个条目,其中代码不等于key,那么我的前一个代码的新条目将被复制,密钥作为代码,描述必须为null。 这个逻辑必须应用于百万条记录。我只想拥有一个sql查询 帮助我。请建议,因为有更多的记录

1 个答案:

答案 0 :(得分:0)

尝试:

insert into table_b
select
    code_value,key_value,description
from
    table_a
where 
    code_value = key_value
union
select
    code_value,code_value,null
from 
    table_a
where 
    code_value != key_value