SQL多行合并成一行

with cte as(
select groupname,GroupId from Sys_Group where GroupId in(
select ReleaseRangeId from Sys_Notice_Permission where ReleaseRangeType=2 and NoticeId=20)
)

select LEFT(groupname,LEN(groupname)-1) as groupname,
LEFT(GroupId,LEN(GroupId)-1) as GroupId

from
(
SELECT (SELECT groupname+‘,‘ from cte FOR XML PATH(‘‘) ) as groupname,
(SELECT cast(GroupId as nvarchar)+‘,‘ from cte FOR XML PATH(‘‘) ) as GroupId

) A

时间: 2024-11-02 14:34:23

SQL多行合并成一行的相关文章

oracle多行合并成一行

在mysql有关键字group_concat提供了类似的功能,在oracle中类似功能关键字是wm_concat.比如我有如下查询数据: 但是我希望能够显示成一行查询出来,结果图如下: 关键sql代码形如: select t.sglcheckid,wm_concat(t.salemodulename) from t_item_group_ex t where t.sglcheckid = '000********004' group by t.sglcheckid mysql 多行合并成一行的解

mysql 和sqlserver的 多行合并成一行

mysql  多行合并: mysql 内置函数 group_concat(exper  SEPARATOR " " ) exper:列明 SEPARATOR " ": 行分隔符 ,这里表示的是使用空格分隔多行 mysql> select * from tmp_02 ; +------------+---------+ | Fclient    | ct      | +------------+---------+ | 安卓       | 1858799 |

logstash收集java日志,多行合并成一行

使用codec的multiline插件实现多行匹配,这是一个可以将多行进行合并的插件,而且可以使用what指定将匹配到的行与前面的行合并还是和后面的行合并. 1.java日志收集测试 input { stdin { codec => multiline { pattern => "^\[" //以"["开头进行正则匹配 negate => true //正则匹配成功 what => "previous" //和前面的内容进

SQL查询多行合并成一行

问题描述:无论是在sql 2000,还是在 sql 2005 中,都没有提供字符串的聚合函数,  所以,当我们在处理下列要求时,会比较麻烦:有表tb, 如下:id    value----- ------1     aa1     bb2     aaa2     bbb2     ccc需要得到结果:id     values------ -----------1      aa,bb2      aaa,bbb,ccc即, group by id, 求 value 的和(字符串相加) 1.

mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ,group_concat(sore Separator ';') as score from stu group by name 第二种展现如图----[多行变多列](合并后的数据在不同列上): sql如下: SELECT name , MAX(CASE type WHEN '数学' THEN

SQL 多行拼成一行 (3种解决方案)

运行环境 (sql 2000, 2005, 2008, 2014 ), 其中,最后一种方法 专为sql 2000提供. 原数据: (5 行受影响) UserID RoleName RoleID ----------- ---------- -------- 2014000 developer 1 2014000 product 2 2014001 developer 1 2014002 developer 1 2014002 sales 3 期望结果: UserID NewRoleName Ne

linux 将多行合并成一行

把a.txt里面的第3-6行内容复制到b.txt里面的第7行 sed -i "7i`sed -n "3,6p" a.txt |xargs`" b.txt

SQL-xml(查询结果,多行合并成一行)

原始数据: select UserName from com_t_userinfo where username like '测试%' 查询结果: 需求所要结果: select UserName+',' from com_t_userinfo where username like '测试%' for xml path ('') 查询结果:

SQL 将一条记录中多个字段的值拼接为一个字段 && 将多行数据合并成一行,并且拼接CONVERT() 、for xml path的使用

接着上篇文章的订单表(商品编号,价格设置时间id(类似于创建时间,创建时间约早,则act_id越小) ,价格的时间段,商品价格) 一.将一条记录中多个字段的值拼接为一个字段 现要求将两个时间段合并为一个字段,应该如何做呢? 先来看下理想的结果: 查询出的时间段合并到一起了: 代码如下,将查询的字段用+'你想要的符号' + 拼接即可 select item,act_id,loc_id,convert(varchar(100),start_date,20)+ '-' +convert(varchar