我有一个表,其中有一些重复的记录都在一列中。
e.g。
Field-A Field-B Field-C
abc abc Fred
abc abc Harry
def cba Bert
def wxy David
def wxy Peter
def wxy Larry
我希望在T-SQL(SQL Server 2005存储过程)中压缩此表,以便在两个或多个行的列Field-A和Field-B相同的情况下,结果表将有一行与Field- C是其他人的合并。
因此,对于上面的示例,结果表将是..
Field-A Field-B Field-C
abc abc弗雷德,哈利
def cba Bert
def pxy David,Peter,Larry有什么方法可以做到这一点吗?
答案 0 :(得分:1)
SELECT DISTINCT
Field-A,
Field-B,
(SELECT Field-C + ',' from yourtable y WHERE y.Field-A=x.Field-A and y.Field-B=x.Field-B FOR XML PATH(''))
FROM yourtable x