SQL
实现多行合并一行
分类:数据库 人阅读评论收藏举报
!"#$ 纯 %&# 实现多行合并一行【转】
项目中遇到一个需求,需要将多行合并为一行。
表结构如下:
'!($)))))))))))))))))))))))))))'))))))))))*+
))
',%$","-$))))))))))))))))'*'.##"/!
", $%$! "/$ ,"-$)))'*'.##0! "/!
此表保存了“股票”与“研究员”的对应关系数据,一般而言,对于同一只股票而言,可能有多
个研究员
对其进行跟踪研究。所以目前遇到一个要求,需查询出每只股票和对应的研究员(研究员
代码间,使用逗号分隔)。
例如有如下数据:
))))))))))))))))))))))))))))))))))1)))))))))))
))))))))))))))))))))))))))))))))))))))))))))))))
合并处理后需显示为:
))))))))))))))))))))))))))))))))))12
网上查了很多方法,但通常而言都是编写自定义多行文本合并函数,或者对支持的列数具
有局限性。
最后在英文 11 中搜到如下比较巧的方法。不用在数据库中增加 ,纯 %&# 一次
性搞定,
而且扩充性很好,没有列的限制。
%$#$"*))),,32* !'%#!*$#* 4(526762687626826#
))))9 (%$#$"* :,'.(;$ 0$ <! *4*4';=,,3 -$ ;=
,,32
))))))))))))))))))-$%"2
))))))))))))))))),,325
))))))))))))9 (%$#$"*))))),,32#$0$#2
)))))))))))))))))))))))))))))%=%,"''$"*,;=,<!*/,,326765
))))))))))))))))))))))))9 (%$#$"*))),,32,,3
,,32
))))))))))))))))))))))))))))))))))))))) :,'.(;$ 0$ <! *4*4';=,,3
-$ ;=,,32,,35
))))))))))))))))))))))))))))))))))9 (>,,?,
)))))))))))))))))))))))))))))) -$ ;=,,32,,3
))))))))))))))))))"''$"*;=,,3@< 4 ,,3!'-51@< 4 5