【发布时间】:2014-01-14 13:24:31
【问题描述】:
我有一个如下所示的 MSSQL 表:
身份证 |姓名 |姓氏 |数据1 |数据2 |数据3 1 |约翰 |能源部 |数据1 |数据2 |空值 1 |约翰 |能源部 |数据1 |空 |数据3 2 |简 |夫人 |简1 |空 |简3 3 |杰克 |霍纳 |插孔1 |杰克2 |空值 3 |杰克 |霍纳 |插孔1 |杰克2 |插孔3 3 |杰克 |霍纳 |插孔1 |杰克2 |插孔3我希望它看起来像这样:
身份证 |姓名 |姓氏 |数据1 |数据2 |数据3 1 |约翰 |能源部 |数据1 |数据2 |数据3 2 |简 |夫人 |简1 |空 |简3 3 |杰克 |霍纳 |插孔1 |杰克2 |插孔3数据库有点乱——从 csv 文件导入,基本上,每条记录似乎都是重复的,只有一两列不同——即第一行为空,第二行为该列中的值。
更复杂的是,一些记录只有一行,而另一些记录有三个条目,其中三个相关行中的两个相同,而另一行显示如前所述的“交换”列。
总共有大约 44m 行,我试图检测和合并 - iow,用重复行中的列填充空值,然后删除重复的、不完整的行,这样每个 ID 总是只有一行号码。
非常感谢任何帮助。
【问题讨论】:
标签: sql sql-server