`
oxidy
  • 浏览: 162768 次
  • 性别: Icon_minigender_1
  • 来自: 吉林长春
社区版块
存档分类
最新评论

MSSQL_拆分

阅读更多
DECLARE @Tmp TABLE(id INT IDENTITY(1,1),TBookCode CHAR(6),TNodeID NUMERIC(18,0),TMaterialCode VARCHAR(50))
DECLARE @tmpa TABLE(id INT ,TTTypeID VARCHAR(30))
DECLARE @NewTmp TABLE(id INT IDENTITY(1,1),aid INT ,typeId VARCHAR(30))

INSERT INTO @Tmp (TBookCode,TNodeID,TMaterialCode) SELECT BookCode,NodeID,MaterialCode FROM dbo.MRelate WHERE CHARINDEX(',',TypeID)>0

INSERT INTO @tmpa SELECT t.id,r.TypeID FROM @Tmp t
LEFT JOIN dbo.MRelate r ON t.TBookCode=r.BookCode AND t.TMaterialCode=r.MaterialCode AND t.TNodeID=r.NodeID

WHILE EXISTS(SELECT TTTypeID FROM @tmpa WHERE CHARINDEX(',',TTTypeID)>0)
BEGIN
		
	INSERT INTO @NewTmp (aid,typeId)SELECT id,
		CASE WHEN CHARINDEX(',',TTTypeID)>0 THEN RTRIM(LTRIM(LEFT(TTTypeID,CHARINDEX(',',TTTypeID)-1))) 
			WHEN CHARINDEX(',',TTTypeID)=0 THEN RTRIM(LTRIM(TTTypeID)) END 
		FROM @tmpa
	
	DELETE @tmpa WHERE CHARINDEX(',',TTTypeID)=0
	
	UPDATE @tmpa SET TTTypeID=SUBSTRING(TTTypeID,CHARINDEX(',',TTTypeID)+1,30)
	
END

IF NOT EXISTS(SELECT TTTypeID FROM @tmpa WHERE CHARINDEX(',',TTTypeID)>0)
BEGIN
	INSERT INTO @NewTmp (aid,typeId)SELECT id,RTRIM(LTRIM(TTTypeID)) FROM @tmpa	
END

SELECT t.TBookCode,t.TNodeID,t.TMaterialCode,nt.typeId FROM @NewTmp nt

LEFT JOIN @Tmp t ON nt.aid = t.id ORDER BY nt.aid,nt.typeId

 

要出来的数据格式为

除了之后的数据格式为TTTypeID中的值只有一个

例如id=1的处理之后为两条记录,分别为

id   TTTypeID

1       1

1       11

 

要想达到这样的效果,应用MSSQL语句处理的方式如上。

 

 

  • 拆分.zip (582 Bytes)
  • 描述: MSSQL_拆分源文件_2000
  • 下载次数: 0
  • 描述: 要出来的数据格式
  • 大小: 4.4 KB
2
0
分享到:
评论

相关推荐

    MSSQL各种字符串分拆处理函数

    MSSQL数据库中,各种字符串分拆处理函数

    基于MSSQL高可用性和扩展性.pdf

    前者往往依赖于主流厂商的硬件,纵向扩展负载CPU,面对 IO的压力只能水平垂直拆分业务. 后者未被 Oracle 收购前版本在面对存储单点故障时 M_M_S 的结构又不那么灵活.而 Mssql 属于2 者中间.在面对不同业务需求时候 ...

    Sqlserver长字符串拆分为多行 高效

    自己写了一个function 用于处理拆分时的逻辑运算,性能比网上找的快好几倍, 代码和说明:https://blog.csdn.net/jimyao37/article/details/123522885

    SQL字段拆分优化

    今天看到一条用函数处理连接的SQL,是群里某位网友的,SQL语句如下: SELECT SO_Order.fdate , SO_Order.fsn FROM so_order INNER JOIN so_orderitem ON CHARINDEX(so_Orderitem.fid, SO_Order.fid) >= 1 ...

    一套值得推荐的C#版生产管理进销存(MSSQL)管理系统代码

    C#开发的进销存管理系统,可以完成资料管理、进货管理、销售管理、库存管理、权限设置、库存及销售产品查询、端口信息登记、客户资料维护等功能。

    多行以指定分隔符拼接桌面绿色程序,类似列转行功能

    很多时候会遇到指定判断某列在一个范围内的场景,如查询出符合条件的id列,从其他出复制出回车分割内容或excel内容,需要逗号分割方便id in查询,可用这个小工具

    易特仓库管理软件-试用-MSSQL-客户端+服务端

    拆分组装:整进散出,或是整出散进等可以自由的拆分组合产品。 统计报表:完整的统计查询功能,每张单据每次业务金额都可以清楚的反映。 权限管理:可添加删除系统操作员帐号,强大的权限控制,可以设置某用户对某...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    62.MFC_动态拆分窗口.mp4 63.MFC_ToolBar.mp4 64.MFC_ToolBar_Ex13a.mp4 65.MFC_StatusBar.mp4 66.MFC_StatusBar_Ex13b.mp4 67.MFC_Rebar.mp4 68.MFC_EZPrint.mp4 69.MFC_Print_Bubble.mp4 7.MFC_建立应用...

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    找了网上很多资料,都没有详细的做法有的还很复杂,自己写了个分割函数,通过直接查询就能分割多行,很方便。

    Look1080 电影整合网站 v1.0

    中文自动分词:根据发布的文章标题,自动拆分成词语(SEO必备杀招),并生成内链接(SEO增加网站内链),并写入SEO相关标题自动生成摘要:根据文章内容生成文章主要内容的摘要,并写进SEO相关标题自动生成预览图片:...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例139 拆分数组 167 实例140 遍历数组 168 2.11 日期和时间 169 实例141 设置系统的当前时间 169 实例142 将日期和时间转换为时间戳 170 实例143 获取系统中的特定日期和时间 171 实例144 比较时间的大小 172 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例139 拆分数组 167 实例140 遍历数组 168 2.11 日期和时间 169 实例141 设置系统的当前时间 169 实例142 将日期和时间转换为时间戳 170 实例143 获取系统中的特定日期和时间 171 实例144 比较时间的大小 172 实例...

    SQL Server 查询两个日期之间的所有月份

    SQL Server 查询两个日期之间的所有月份示例

    c#工业自动化通信开发库

    ini配置文件操作,excel表格操作(包括模版化导出),rabbitmq消息队列管理库,Rabiitmq消息队列操作库,常用的数据转换(高低字节排序,转换,取位设位,校验和等),功能可拆分。不懂的,不明白的,包教会。做项目...

    功能强大的 CMS 源码

    是一个基于ASP.NET和MSSQL的建站系统,系统以资讯为主,实现了全站静态文件生成,无限资讯分类,文章模版按分类设置,即各个分类采用不同的文本模式,资讯模版实现无限嵌套,即在模版中可以使用模版,实现网站模块化...

    TCGCMS建站系统源码 v0.0.8.82.rar

    TCG CMS System 是一个基于ASP.NET和MSSQL的建站系统,系统以资讯为主,实现了全站静态文件生成,无限资讯分类,文章模版按分类设置,即各个分类采用不同的文本模式,资讯模版实现无限嵌套,即在模版中可以使用模版...

    cpdb:Oscript应用程序可复制1C MS SQL数据库并部署到目标系统

    可以将大文件拆分为多个部分(使用7-zip) 将备份还原到新数据库或现有数据库 将基础连接到配置存储 需要以下库和工具: 可能的命令 帮助 -显示有关参数的帮助 后备 -创建MS SQL数据库的备份副本 恢复 -从备份...

    php网络开发完全手册

    8.5.6 数组的拆分 133 8.5.7 随机排序 134 8.6 小结 135 第9章 PHP程序调试 136 9.1 PHP中的错误类型 136 9.1.1 语法错误 136 9.1.2 语义错误 137 9.1.3 逻辑错误 137 9.1.4 注释错误 137 9.1.5 运行时的错误 138 ...

    易想最新升级包V4.0

    11.增加mssql数据库在线备份功能等; 12.更新【YxB2B商务网帮助文档】相关功能的操作说明等. V2.3版升级说明 time:2007-06-30 1.修改了总后台管理相关内容页面显示效果样式 2.管理员可以后台设定会员等级,并对不同...

Global site tag (gtag.js) - Google Analytics