我从存储在MSSQL 2012数据库中的遗留系统中提取客户数据。在此表中,夫妇通过使用Name_1和Name_2字段的单个客户代码进行。它看起来像这样:将数据拆分为多行
ID | Name_1 | Name_2 | Address
----- -------- --------- ---------
DOE001 | John Doe | Jane Doe | 1234 Somewhere St.
我们的新系统需要将这些信息分开。它们将是具有相同ID但是称为“地址ID”的区分字段的单独记录。我正在寻找一种方式来分割类似下面的信息:
Customer ID | Name | Address | Address ID
----------- ------- ---------- --------------
DOE001 | John Doe | 1234 Somewhere St | 01
DOE001 | Jane Doe | 1234 Somewhere St | 02
我想感谢所有帮助生成查询,将信息分成多行,如果有可能产生新的地址ID。对于每个新的客户ID,地址ID将从01开始,然后根据需要增加。
谢谢你的帮助。
+1很好的解决方案,然而值'01'和'02'实际上并不是'ID',因为它们会在每个'[Customer ID]'上重复,是吗? – Aquillo
@Aquillo,基于OP的问题,它看起来像每个客户ID只有两行,我不认为我们需要row_number,当我们知道数据集总是只返回2行。检查我的SQL演示,它会重复每个客户ID :)并且OP提到他希望地址ID从01开始为每个新客户 –
在这种情况下,'([Customer ID],[Address ID])'主键“。 OP应该真正考虑什么更适合他的情况。 :) – Aquillo