合并同一个表中的记录

时间:2014-04-02 18:33:25

标签: sql-server database data-integrity

我有一个数据库,其中包含联系方式,包括唯一的联系人ID,姓名,地址,城市,邮编,电话,寻呼机,手机,网站等。我注意到有重复的联系人(联系人ID是不同的名字和姓氏相同,有些人在其他人有信息时缺少其他信息)。如果一行有一个空行而另一行没有,我想合并信息。是否有可能使用MSSQL中的merge语句实现此目的,或者是否有另一个第三方程序将合并来自同一个表中的记录的数据。我很困惑如何处理这个问题。帮助将不胜感激。

  contactid salutation  add1    add2    city    zip phone   officephone cellular    email   moddate contactrecordtype   contacttitleid  namefml
A00JL043                1 OPC           NYC     L6B 0J3   (123)456-789               admin@admin.com    06/17/2011 0:00   CONTACT      MCGUNTY ALISON 
A00JL6L2                                 LA     L9H 7N5                    (123)456-789  admin@admin.com    06/17/2011 0:00   CONTACT       MCGUNTY ALISON 
A00JL9Z9               1 OPC             LA     L9H 7N5     (123)456-789    (123)456-789 admin@admin.com    06/20/2011 0:00 CONTACT             MCGUNTY ALISON 
A00JM5AZ                                                    LA  L9H 7N5     (123)456-789    (123)456-789                            admin@admin.com 06/24/2011 0:00 CONTACT             MCGUNTY ALISON 
A00JP8FW                                                    LA  L9H 7N5                             (123)456-789                            admin@admin.com 07/18/2011 0:00 CONTACT WORKER  MCGUNTY ALISON 
A00JQZ0Q                    SUITE 300                       LA      6589503     (   )    -              admin@admin.com 08/02/2011 0:00 CONTACT STUDENT MCGUNTY ALISON 
A00JT9AD                                                    LA      (   )    -                  (   )    -              admin@admin.com 08/17/2011 0:00 CONTACT     MCGUNTY ALISON 
A00K5ZJ9                                                    LA                                                          admin@admin.com 11/01/2011 0:00 CONTACT     MCGUNTY ALISON 
A00KMQ67    MS.         1 OPC   SUITE 100                       LA  L9H 7N5     (   )    -                  (   )    -              admin@admin.com 03/20/2012 0:00 CONTACT     MCGUNTY ALISON 
A00KPL1V                        LA  L9H 7N5     (   )    -              (123)456-789    12658962    tor@check.com   NULL    CONTACT     MCGUNTY ALISON 
A00KUT7A                                                    LA  L9H 7N5                             (123)456-789                                NULL    CONTACT WORKER  MCGUNTY ALISON 

1 个答案:

答案 0 :(得分:0)

您应该使用正确的规范化(消除数据冗余)重新设计表结构我会删除重复数据,使用此链接删除表中的重复数据,希望这是有帮助的http://www.dfarber.com/computer-consulting-blog/2011/12/26/remove-duplicate-records-in-sql.aspx