选择没有附加分区的行并将行合并到一个记录中

时间:2014-11-10 02:44:41

标签: sql

我正在努力清理联系人数据库。有几个重复(三次重复),但有一些独特的记录。我将row_num添加到表中,并希望写入另一个表,那些只有Row_num 1的联系人 - 意味着没有重复,重复三次等。在下面的例子中,它会选择Jamy和Kris,但不会选择Carrie。

  

RowID_ Lastname_ Firstname_ Address_____ HomePhone_____ Birthdate_

     

1 _____ Abbott_____ Carrie___ 123 Main St____ N / A ___________ Null
  2 _____ Abbott_____ Carrie___ N / A _______ 513-123-4567 ______ Null
  3 _____ Abbott_____ Carrie___ N / A __________ N / A _________ 02/12/71
  1_____ Abbott______ Jamy___ 456 Elm St__ 614-123-4567 ____ 11/12/81
  1_____ Abbott______ Kris____ 789 Cooper Dr_ 937-123-4567__ 12/23/64

之后,我需要弄清楚如何将线合并在一起 - 鉴于记录中有多行数据,这似乎是不可能的。使用Carrie Abbott有一个例子,理想情况下我想清理数据,所以我以

结束

RowID姓氏名字地址HomePhone出生日期 1 Abbott Carrier 123 Main St 513-123-4567 02/12/71

非常感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

我认为你可以用group by

做你想做的事
select lastname, firstname, max(address) as address, max(homephone) as homephone,
       max(birthdate) as birthdate
from <whatever>
group by lastname, firstname;

在这种情况下,您似乎不需要rowid