select ptl_a01, ptl_piitem,

 (SELECT COUNT(ptl_id) FROM dbo.PRODUCT_TRACEABILITY_LOG WHERE ptl_a01=t.ptl_a01 AND ptl_piitem=t.ptl_piitem and (ptl_time>='2016-08-21 00:00:00' and ptl_time<='2016-08-30 23:59:59' ) and ptl_order_type=10 and ptl_poid=20158 ) as ptl_count, 

 STUFF((SELECT ','+ltrim(ptl_pdid)
FROM PRODUCT_TRACEABILITY_LOG
WHERE ptl_a01=t.ptl_a01 AND ptl_piitem=t.ptl_piitem and (ptl_time>='2016-08-21 00:00:00' and ptl_time<='2016-08-30 23:59:59' ) and ptl_order_type=10 and ptl_poid=20158 FOR XML PATH('')), 1, 1, '')
AS ptl_all_pdid FROM PRODUCT_TRACEABILITY_LOG AS t where (ptl_time>='2016-08-21 00:00:00' and ptl_time<='2016-08-30 23:59:59' ) and ptl_order_type=10 and ptl_poid=20158 GROUP BY t.ptl_a01,t.ptl_piitem ORDER BY t.ptl_a01
关键字:STUFF 

1、作用

删除指定长度的字符,并在指定的起点处插入另一组字符。

2、语法

STUFF ( character_expression , start , length ,character_expression )

3、示例

以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串

SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO

下面是结果集

aijklmnef

 

MSSQL 多行合并为一行的更多相关文章

  1. Firebird 同一字段的多行合并为一行

    Firebird 同一字段的多行合并为一行用LIST函数类似于MYSQL的GROUP_CONCAT. 具体用法如下: SELECT  LIST(a.GG_NAME||':'||a.GG_VALUE) ...

  2. ELK之使用filebeat的多行过滤插件把多行合并成一行

    java运行日志一般有多行,格式类似如下 格式为:日期 + 日志级别 + 日志信息 有些日志是多行的,需要使用filebeat多行插件把多行合并成一行 未使用多行插件的日志格式 修改filebeat配 ...

  3. 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符

    T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml 格式 比如有一张表tb有两列,其格式和数据为: id value—————1 aa1 bb2 aaa2 b ...

  4. 转:利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符

    http://blog.csdn.net/rav009/article/details/50723307 T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml ...

  5. Dataframe 多行合并为一行

    原表数据: 最后4行合并为1行: def ab(df): return','.join(df.values) df = df.groupby(['股票代码','股票简称'])['所属概念'].appl ...

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

    使用codec的multiline插件实现多行匹配,这是一个可以将多行进行合并的插件,而且可以使用what指定将匹配到的行与前面的行合并还是和后面的行合并. 1.java日志收集测试 input { ...

  7. MSSQL—列记录合并成一行

    在项目开发中,有时会碰到将列记录合并为一行的情况,例如根据地区将人员姓名合并,或根据拼音首字母合并城市等,下面就以根据地区将人员姓名合并为例,详细讲一下合并的方法. 首先,先建一个表,并添加一些数据, ...

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

    数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ...

  9. linux中文件多行合并为一行的例子

    现网中经常遇到匹配到某一关键字下的所有行合并到同一行,再次匹配到相关关键字再和下面的合并,示例如下: # line1ab# line2cde# line3f想要变成: # line1 a b# lin ...

随机推荐

  1. linux /boot 清理

    随着升级 /boot分区会越来越满 导致后续无法升级  原因是因为每次升级有可能升级内核  但是旧的内核没有删除  所以导致/boot一直增大 解决办法就是删除不需要的内核,一下步骤: 查看所有安装的 ...

  2. codeforces 734E(DFS,树的直径(最长路))

    题目链接:http://codeforces.com/contest/734/problem/E 题意:有一棵黑白树,每次操作可以使一个同色连通块变色,问最少几次操作能使树变成全黑或全白. 思路:先进 ...

  3. mac中使用brew安装软件,下载太慢怎么办?

    mac中使用brew安装软件,下载太慢怎么办? 本文所说的软件是指较大的软件,如果软件较小,例如软件只有几M,那么使用此方法后,提升会非常小. 了解brew原理: 1: 从网络下载安装包 2: 执行一 ...

  4. onTouch与onClick冲突解决方法

    view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent ...

  5. akka各模块

    Akka的模块化做得非常好,它为不同的功能提供了不同的Jar包. akka-actor-2.0.jar – 标准Actor, 有类型Actor,等等 akka-remote-2.0.jar – 远程A ...

  6. Android添加快捷方式

    private void addShortcutToDesktop() { Intent shortcut = new Intent("com.android.launcher.action ...

  7. 几种Position属性的用法

    几种Position常见的属性就是一下几种: 1.static:默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). 2.re ...

  8. HomeBrew安装和卸载

    HomeBrew——OS X 不可或缺的套件管理器 1.安装,一行代码即可. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercon ...

  9. 转:各种Adapter的用法

    各种Adapter的用法   同样是一个ListView,可以用不同的Adapter让它显示出来,比如说最常用的ArrayAdapter,SimpleAdapter,SimpleCursorAdapt ...

  10. get和post的差异

    主要差异: 1.get在地址栏上回显示用户信息,安全性低,post采用加密方式传输不显示,安全性高. 2.get相比post提交方式较快一点,因为post封装了一次消息再发送(加密). 3.get方式 ...