首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sql中使用partition by将非重复行插入到表中

在sql中使用partition by将非重复行插入到表中
EN

Stack Overflow用户
提问于 2016-01-15 17:01:43
回答 1查看 102关注 0票数 0

有两个表x_ass_tablei_ass_table

我正在向i_ass_table插入具有1128条记录的x_ass_table中的数据。为了避免unique约束错误,我使用以下查询:

代码语言:javascript
复制
     insert assignment_number, 
            effective_start_date,
            effective_end_date,
            effective_latest_change,
            configuration_no 
     into i_ass_table
          select effective_start_date,
                 effective_end_date,
                 effective_latest_change,
                 'XX_FUS' 
      FROM     (SELECT x_ass_table.*,
                       COUNT() OVER (PARTITION BY assignment_number, 
                                                  effective_start_date,
                                                  effective_end_date,
                                                  effective_latest_change) AS c
                FROM   x_ass_table) t
    where c=1;

尽管如此,我还是得到了唯一约束错误。尽管我已经限制了assignment_number, effective_start_date,effective_end_date,effective_latest_change列,它们是唯一的键列。

EN

回答 1

Stack Overflow用户

发布于 2016-01-15 19:04:38

我认为您正在检查x_ass_table中存在的重复记录,但您还应该检查i_ass_tablex_ass_table中是否存在相同的记录。这也会产生唯一的约束错误。

代码语言:javascript
复制
    select *  
      from x_ass_table x,  
           i_ass_table i  
    where i.assignment_number = x.assignment_number  
      and i.effective_start_date = x.effective_start_date  
      and i.effective_end_date = x.effective_end_date  
      and i.effective_latest_change = x.effective_latest_change;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34807504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档