sql 一列拼接成一行,再分割成列

Posted Mr.石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 一列拼接成一行,再分割成列相关的知识,希望对你有一定的参考价值。

 

原始数据,需要拼接成一行

 

select * from (select d.*,(SELECT count ([Keyword])FROM [DragonGuoShi].[dbo].[ArticleInfo]where Keyword like\'%\'+d.Keyword+\'%\' and [ArticleCreateDate]>\'2018-06-10\') as Num from (select distinct(Keyword) from( select SUBSTRING( Keyword,number,CHARINDEX(\',\',Keyword+\',\',number)-number) as Keyword from( SELECT stuff((SELECT \',\'+[Keyword] from (SELECT [Keyword]FROM [DragonGuoShi].[dbo].[ArticleInfo]where Keyword!=\'\' and [ArticleCreateDate]>\'2018-06-10\')a for xml path(\'\')),1,1,\'\') as Keyword)b ,master..spt_values where
number >=1 and number<=len(Keyword)
and type=\'p\'
and substring(\',\'+Keyword,number,1)=\',\') c ) d ) e where Num>20 order by Num desc

 结果

 

以上是关于sql 一列拼接成一行,再分割成列的主要内容,如果未能解决你的问题,请参考以下文章

SQL 如何把一列的值转换成一行显示

mysql中将一列以逗号分隔的值分割成多列显示?

SQL逗号分割一列数据的值,将结果变成一行多列

SQL Server将一列的多行内容拼接成一行的实现方法

excel中能否将一列数据分成多列?

SQL Server将一列的多行内容拼接成一行