【发布时间】:2010-01-13 09:16:41
【问题描述】:
只是想看看是否有人有更好的方法来完成我所需要的。
首先是背景。我的数据库中有一个表,目前有大约 20,000 行。在表中,我们有一列用于 FirstName 和 LastName。还有一列是 ReferenceID。每个 ReferenceID 可以有多个 FirstName、LastName 组合。
这意味着当我们从表中选择 * 时,我们会为每个 ReferenceID 返回多行(因为每个用户都有一行)。
我想将这两列连接到一个名为 Name 的列中,同时将每一行作为 ReferenceID 并将其变成一个。 (基本上是扁平化数据)。
让我试着在这里画一个ascii图。
TABLE
ID ReferenceID FirstName LastName
________________________________________________
1 1 Mike Ekim
2 1 Tom Mot
3 1 Pete Etep
4 2 Ryan Nayr
5 3 Jerry Yrrej
所以我想要的最终结果是一个集合,例如
RESULT SET
ReferenceID Name
__________________________________
1 Mike Ekim, Tom Mot, Pete Etep
2 Ryan Nayr
3 Jerry Yrrej
我真正需要知道的是,在我开始使用 COALESCE 并尝试调整我的结果之前,有没有更好的方法来实现这一点?使用 SQL Server 2005。
干杯,
迈克
【问题讨论】:
标签: sql sql-server-2005