sqlServer拼结列字符串

Posted furenjian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlServer拼结列字符串相关的知识,希望对你有一定的参考价值。

with table1(sessionID,message,createTime)
as
(
select 1 ,‘hello‘ ,‘2014/5/6‘ union all
select 1 ,‘word‘ ,‘2015/6/5‘ union all
select 1 ,‘你好‘ ,‘2015/7/4‘ union all
select 2 ,‘hello‘ ,‘同上时间‘ union all
select 2 ,‘你好‘ ,‘同上时间‘
)
select sessionID,
replace(cast((select ‘,‘+message from table1 t2
where t1.sessionID = t2.sessionID
for xml path(‘‘)) as varchar(100)),‘,‘,‘‘) as message,
max(createtime) createtime
from table1 t1
group by sessionID;

 

WITH t AS (SELECT sec,orgCode, TYPE,
replace(cast((select ‘,‘+sec from Columntype t2
 where t1.orgCode = t2.orgCode AND t1.type=t2.type
 for xml path(‘‘)) as varchar(100)),‘,‘,‘&‘) as ColumnCode
FROM Columntype t1
  WHERE ISNULL(sec,‘‘)<>‘‘ GROUP BY TYPE,orgCode,sec
 ),
 tr AS ( SELECT orgCode, TYPE, ColumnCode, RIGHT(ColumnCode,LEN(ColumnCode)-1) AS trs FROM t
 ),
 ty AS ( SELECT DISTINCT TYPE,orgCode,trs FROM tr
 ),
 tu AS (SELECT DISTINCT t.*,ct.orgname,ct.typeOrgCode FROM ty t LEFT JOIN Columntype ct ON t.orgCode=ct.orgCode
  WHERE t.orgCode=ct.orgCode AND t.type=ct.type
 )
 SELECT trs,typeOrgCode,tu.orgname FROM tu WHERE TYPE=‘dept‘ ORDER BY tu.orgnam






























以上是关于sqlServer拼结列字符串的主要内容,如果未能解决你的问题,请参考以下文章

SQLserver字符型数据在哪里

sqlserver中如何把字符串转换成数字

sqlserver 按分隔符截取字符串

sqlserver 按分隔符截取字符串

sqlserver 怎么分割字符串

sqlserver 字符截取、查找