连接属于组的行

时间:2016-10-18 16:09:13

标签: sql sql-server string-aggregation

我是T-SQL的新手,希望在SQL Server 2014中实现以下功能:

我的源表看起来像这样。

Col1      Col1       Col2       Col3
------------------------------------
Group1    Val1       Val2       Val3.1
NULL      NULL       NULL       Val3.2
NULL      NULL       NULL       Val3.3
Group2    Val1.2     Value2.2   Val3.4

我想基于前三个Cols连接,这些Cols组成一个组,但后续行中为null,最后一个cols值不同,需要连接。

所需的结果应该是两行而不是4行:

Col1      Col1       Col2       Col3
------------------------------------
Group1    Val1       Val2       Val3.1,Val3.2,Val3.3
Group2    Val1.2     Value2.2   Val3.4

如果可以创建一个可以执行的视图或选择查询。请帮助我,因为我无法用我的知识弄清楚这一点。

这不像StackOverflow中的其他示例那么简单:

ANDY   |  A100
ANDY   |  B391
ANDY   |  X010
TOM    |  A100
TOM    |  A510

我的数据更像是

ANDY   |  A100
NULL   |  B391
NULL   |  X010
TOM    |  A100
NULL    |  A510

0 个答案:

没有答案