Sql 将多行连接到一行中(但不是作为字符串)
我有一张这样的桌子:Sql 将多行连接到一行中(但不是作为字符串),sql,sql-server,Sql,Sql Server,我有一张这样的桌子: iD PhoneNumber EmailAddress 1 06543635463 NULL 1 NULL Me@Me.com 2 NULL You@You.net 2 0298754355 NULL 3 0543280545 NULL id PhoneNumber EmailAddress 1 065
iD PhoneNumber EmailAddress
1 06543635463 NULL
1 NULL Me@Me.com
2 NULL You@You.net
2 0298754355 NULL
3 0543280545 NULL
id PhoneNumber EmailAddress
1 06543635463 Me@Me.com
2 0298754355 You@You.net
3 0543280545 NULL
我正在尝试连接这些行,使它们看起来像这样:
iD PhoneNumber EmailAddress
1 06543635463 NULL
1 NULL Me@Me.com
2 NULL You@You.net
2 0298754355 NULL
3 0543280545 NULL
id PhoneNumber EmailAddress
1 06543635463 Me@Me.com
2 0298754355 You@You.net
3 0543280545 NULL
任何帮助都将不胜感激。非常感谢。这不是串联,而是简单的聚合。听起来您可以使用MIN
或MAX
:
SELECT id,
MAX(PhoneNumber) PhoneNumber,
MAX(EmailAddress) EmailAddress
FROM dbo.YourTable
GROUP BY id;
那么您想要哪种数据类型呢?那将是重复数据消除,而不是串联。我猜您插入了记录,而不是更新相同的
ID
。