博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL 多条记录分组合成一条数据
阅读量:4696 次
发布时间:2019-06-09

本文共 1723 字,大约阅读时间需要 5 分钟。

要求 :1.回车空格消除。

   2.进展情况相同的要去重

   3.方括号内容要消除

   4.按 年、月、任务编码 合并成一条数据

 

--创建该函数 nsc_StrSplit 传一个值 并按‘]’分隔成多条记录 存到一个表里CREATE FUNCTION [dbo].[nsc_StrSplit] ( @str VARCHAR(4000) )RETURNS @tableName TABLE ( str2table VARCHAR(4000) )AS    BEGIN        --SET @str = @str + ','        DECLARE @insertStr VARCHAR(4000) --截取后的第一个字符串        DECLARE @newstr VARCHAR(4000) --截取第一个字符串后剩余的字符串        SET @insertStr = LEFT(@str, CHARINDEX(']', @str) - 1)        SET @newstr = STUFF(@str, 1, CHARINDEX(']', @str), '')        INSERT  @tableName        VALUES  ( @insertStr )        WHILE ( LEN(@newstr) > 0 )            BEGIN                SET @insertStr = LEFT(@newstr, CHARINDEX(']', @newstr) - 1)                INSERT  @tableName                VALUES  ( @insertStr )                SET @newstr = STUFF(@newstr, 1, CHARINDEX(']', @newstr), '')            END        RETURN    ENDGO

 

create table #jzztmx(id int identity(1,1),iyear numeric(20, 0),imonth numeric(20, 0),rwbm nvarchar(500),ggjzqk nvarchar(4000))insert into #jzztmx--2.将【】内容删除 再去重select distinct iyear,imonth,rwbm,substring(mss,0,CHARINDEX('[',mss) ) ggjzqk   from (--1.将进展状态里按】分割成多条数据存到一个表里 并消除回车换行,	SELECT  iyear,imonth,rwbm,replace(replace(str2table,CHAR(13),''),CHAR(10),'') mssFROM    (select iyear,gjyf imonth,rwbm,jzqk from NSC_A8_shijigenjin   where (sfsc !='删除' or sfsc is null)  and iyear = @iyear and gjyf <=@imonth ) a  OUTER  APPLY  nsc_StrSplit(a.jzqk)) a  order by rwbm--按年月任务编码 合成一条记录select iyear,imonth,rwbm,jzqk=(		(select  ltrim(ggjzqk) +'' from #jzztmx where iyear=a.iyear and imonth=a.imonth and rwbm =a.rwbm 		  for xml path('')))  into #jzztzxfrom #jzztmx a group by iyear,imonth,rwbm

结果:

  

 

转载于:https://www.cnblogs.com/xiaobaidejiucuoben/p/10683585.html

你可能感兴趣的文章
多校题解
查看>>
HackerRank Extra long factorials
查看>>
js和jquery的基本应用
查看>>
Vanilla Masker – 功能强大的输入过滤插件
查看>>
imagesLoaded – 检测网页中的图片是否加载
查看>>
1005 Number Sequence(HDU)
查看>>
Mono For Android离线激活
查看>>
20135302魏静静Linux内核分析第二周学习总结
查看>>
XML文件中<return_code><![CDATA[SUCCESS]]></return_code>中CDATA的用法
查看>>
《重构:改善既有代码的设计》重构的方法整理
查看>>
HBase工程师线上工作经验总结----HBase常见问题及分析
查看>>
FICO_月末关帐
查看>>
获取包含中文字符串的长度、截取包含中文的字符串
查看>>
unity编辑器学习,创建自己的窗口
查看>>
Microsoft Build 2015
查看>>
使用EntityFrameWork 5.0增删查改(&分页,连表)
查看>>
ios block常见的错误(三)——并发编程的block引用
查看>>
Arcgis Server发布的带有透明度的地图服务,调用时不显示透明度问题
查看>>
Android Loader详解(官方文档翻译)
查看>>
[Java]ArrayList源码分析
查看>>