SQL Server 分组及连接组内字符串的几种方法

 系统开发时会遇到用户要求某一列分组后的数据一起显示而不是分别显示以减少数据重复及方便查看,即是像下面一组数据:

Produce	Longlife Tofu
Produce	Manjimup Dried Apples
Produce	R?ssle Sauerkraut
Produce	Tofu
Produce	Uncle Bob's Organic Dried Pears
Seafood	Boston Crab Meat
Seafood	Carnarvon Tigers
Seafood	Escargots de Bourgogne
Seafood	Gravad lax
Seafood	Ikura
Seafood	Inlagd Sill
Seafood	Jack's New England Clam Chowder
Seafood	Konbu
Seafood	Nord-Ost Matjeshering
Seafood	R?d Kaviar
Seafood	Rogede sild
Seafood	Spegesild


显示为如下的效果,该如何做呢?

 

ProduceLonglife Tofu,Manjimup Dried Apples,Rössle Sauerkraut,Tofu,Uncle Bob's Organic Dried Pears
SeafoodBoston Crab Meat,Carnarvon Tigers,Escargots de Bourgogne,Gravad lax,Ikura,Inlagd Sill,Jack's New England Clam Chowder,Konbu,Nord-Ost Matjeshering,Röd Kaviar,Rogede sild,Spegesild

 

这是一个有点棘手的问题。现总结了几种较简单的方法与大家共享之。

方法一:利用同一组中使用Dense_Rank的排名必然相同,然后再利用循环即可达成此目标。代码如下:

 

Produce	Longlife Tofu
Produce	Manjimup Dried Apples
Produce	R?ssle Sauerkraut
Produce	Tofu
Produce	Uncle Bob's Organic Dried Pears
Seafood	Boston Crab Meat
Seafood	Carnarvon Tigers
Seafood	Escargots de Bourgogne
Seafood	Gravad lax
Seafood	Ikura
Seafood	Inlagd Sill
Seafood	Jack's New England Clam Chowder
Seafood	Konbu
Seafood	Nord-Ost Matjeshering
Seafood	R?d Kaviar
Seafood	Rogede sild
Seafood	Spegesild

方法二:利用SQL Server 对XML的支持,其提供的FOR XML选项中的PATH模式。

或者

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值