SQL按分隔符拆分字段串
CREATE VIEW [dbo].[Split_BusinessUnit]
AS
WITH tt
AS (
SELECT BusinessUnit.BusinessUnitId
, BusinessUnit.BusinessUnitId zz_id
, BusinessUnit.new_name
, BusinessUnit.ParentBusinessUnitId
, 1 lev
FROM BusinessUnit
WHERE IsDisabled = 0
UNION ALL
SELECT tt.BusinessUnitId
, b.BusinessUnitId
, b.new_name
, b.ParentBusinessUnitId
, lev + 1
FROM tt
JOIN BusinessUnit AS b
ON tt.ParentBusinessUnitId = b.BusinessUnitId
WHERE IsDisabled = 0 )
, ttt
AS ( SELECT BusinessUnitId
, CAST(zz_id AS VARCHAR(60)) zz_id
, new_name
, ROW_NUMBER() OVER ( PARTITION BY BusinessUnitId
ORDER BY lev DESC ) lev
FROM tt )
SELECT BusinessUnitId
, MAX(lev) lev
, MAX(CASE WHEN lev = 1 THEN zz_id
ELSE NULL
END) lev1id
, MAX(CASE WHEN lev = 1 THEN new_name
ELSE NULL
END) lev1
, MAX(CASE WHEN lev = 2 THEN zz_id
ELSE NULL
END) lev2id
, MAX(CASE WHEN lev = 2 THEN new_name
ELSE NULL
END) lev2
, MAX(CASE WHEN lev = 3 THEN zz_id
ELSE NULL
END) lev3id
, MAX(CASE WHEN lev = 3 THEN new_name
ELSE NULL
END) lev3
, MAX(CASE WHEN lev = 4 THEN zz_id
ELSE NULL
END) lev4id
, MAX(CASE WHEN lev = 4 THEN new_name
ELSE NULL
END) lev4
, MAX(CASE WHEN lev = 5 THEN zz_id
ELSE NULL
END) lev5id
, MAX(CASE WHEN lev = 5 THEN new_name
ELSE NULL
END) lev5
, MAX(CASE WHEN lev = 6 THEN zz_id
ELSE NULL
END) lev6id
, MAX(CASE WHEN lev = 6 THEN new_name
ELSE NULL
END) lev6
, MAX(CASE WHEN lev = 7 THEN zz_id
ELSE NULL
END) lev7id
, MAX(CASE WHEN lev = 7 THEN new_name
ELSE NULL
END) lev7
, MAX(CASE WHEN lev = 8 THEN zz_id
ELSE NULL
END) lev8id
, MAX(CASE WHEN lev = 8 THEN new_name
ELSE NULL
END) lev8
, MAX(CASE WHEN lev = 9 THEN zz_id
ELSE NULL
END) lev9id
, MAX(CASE WHEN lev = 9 THEN new_name
ELSE NULL
END) lev9
, MAX(CASE WHEN lev = 10 THEN zz_id
ELSE NULL
END) lev10id
, MAX(CASE WHEN lev = 10 THEN new_name
ELSE NULL
END) lev10
FROM ttt
GROUP BY BusinessUnitId;
SQL按分隔符拆分字段串的更多相关文章
- SQL语句中拆分字段
SELECT PARSENAME(replace(MONITOR_ROOM_ID,'^' , '.'), 1) AS RoomID FROM ZY_MONITOR_ROOM 遇到以前系统高人设计的表, ...
- 拆分字段优化SQL
拆分字段优化SQL 今天看到一条用函数处理连接的SQL,是群里某位网友的,SQL语句如下: SELECT SO_Order.fdate , SO_Order.fsn FROM so_order INN ...
- sql 表值函数-将一个传入的字符串用2中分隔符拆分成临时表
USE [tms]GO/****** Object: UserDefinedFunction [dbo].[fn_StrToTable_Double] Script Date: 2017/4/26 9 ...
- Sql Server xml 类型字段的增删改查
1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...
- SQL Server对Xml字段的操作
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...
- 向已写好的多行插入sql语句中添加字段和值
#region 添加支款方式--向已写好的多行插入sql语句中添加字段和值 public int A_ZhifuFS(int diqu) { ; string strData = @"SEL ...
- sql 给数据库表 字段 添加注释
最近发现一些代码生成器 有针对注释做一个很好的转化,之前建表的时候 没有这块的注释.现在想增加,专门去看了下 如何增加注释 1 -- 表加注释 2 EXEC sys.sp_addextendedpro ...
- PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析
现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...
- SQL 把表中字段存储的逗号隔开内容转换成列表形式
原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ...
随机推荐
- MySQL Transaction--TPS计算规则
TPS计算规则 在MYSQL 中,TPS(Transaction Per Second)的计算方法为 (com_commit+com_rollback)/time,但com_commit和com_ro ...
- Big-endian/Little-endian, LSB/MSB
Least significant byte (LSB) Most significant byte (MSB) Big-endian machines store the most-signific ...
- egret学习
1.egret wing4.0不能创建egret游戏项目, 重置了引擎之后就可以了 2.入门介绍:http://developer.egret.com/cn/github/egret-docs/Eng ...
- 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解)
不多说,直接上干货! 环境: windows10系统(64位) 最好先安装jre或jdk(此软件用来打开oracle自带的可视化操作界面,不装也没关系:可以安装plsql,或者直接用命令行操作) Or ...
- mysql之 sysbench1.0.3 安装与系统压力测试
针对系统和数据库压测是项目上线前必做的一项,这里使用的是最新版本的sysbench做的压测使用详解.sysbench可以做系统层面的压力测试(CPU.内存.硬盘IO.互斥锁.Thead),也可以做数据 ...
- range— 建立一个包含指定范围单元的数组 (數字、字母)
range()函数快速创建从1到12的数字数组 $numbers=range(0,12); echo '<pre>'; print_r($numbers); echo '</pre& ...
- NET设计模式 第二部分 行为型模式(17):迭代器模式(Iterator Pattern)
概述 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据. ...
- 深入理解ASP.NET MVC(8)
系列目录 过滤器上下文参数 前一节提到了四种MVC内建过滤器,它们无一例外都在关键的方法中提供了叫filterContext的参数,尽管它们各自类型不同,但是都继承自ControllerContext ...
- iOS-微信分享多张图片(UIActivityViewController多图分享和多图分享失败)
前言 微信分享到朋友圈,可分享的类型有:文字类型.图片类型.音乐类型.视频类型和网页类型,但是我们在做图片分享的时候发现微信给的API只能分享一张图片,达不到一些APP的需求,而产品汪或者Boss想要 ...
- R基于Bayes理论实现中文人员特性的性别判定
参见 基于中文人员特征的性别判定方法 理论,告诉一个名字,来猜猜是男是女,多多少少有点算命的味道.此命题是一种有监督的学习方法,从标注好的训练数据学习到一个预测模型,然后对未标注的数据进行预测. 1 ...