Sql合并多行

时间:2015-11-23 12:55:12

标签: sql sql-server

我需要T-SQL语句的帮助。

我有一个包含以下示例数据的表:

id fistname lastname phone1 phone2 phone3
------------------------------------------
01      Joe     Test  12345 
02      Joe     Test         45678
03      Max    Smith  12345
04      Max    Smith  45678

现在我希望得到这样的结果:

Joe  Test 12345 45678
Max Smith 12345
Max Smith 45678

因此,只有具有相同名称的行才会合并,并且特定列中的电话号码没有区别。

提前致谢

2 个答案:

答案 0 :(得分:3)

因此,如您所见,下图显示了正确的查询和结果。但请记住,如果有多部手机,您将丢失数据。)

enter image description here

我建议您按照以下示例的想法更改表格。这里有两张桌子。一个用于保存联系人姓名,另一个用于保存联系人的电话号码。

enter image description here

答案 1 :(得分:0)

您可以按列按列来实现(假设空格为NULL)。

select firstname,lastname,phone1,phone2,phone3 from tablename
group by firstname,lastname,phone1,phone2,phone3