SqlServer_合并多个递归查询数据(CTE)

--cteChildren 子孙信息

--cteParents  父亲信息

with cteChildren(EmpID,ParentID)

AS

(

select EmpID,ParentID from Persons where parentid = 10171

union all

select t.EmpID,t.parentid from Persons as t

inner join cteChildren as c on t.ParentID = c.Id

),

cteParents(EmpID,ParentID)

AS

(

select EmpID,ParentID from Persons where Id= 10172

union all

select t.EmpID,t.parentid from Persons as t

inner join cteParents as c on t.Id= c.ParentID

)

--合并查询

select Idfrom cteChildren

UNION

select Idfrom cteParents

时间: 2024-10-06 10:22:52

SqlServer_合并多个递归查询数据(CTE)的相关文章

sql里将重复行数据合并为一行,数据用逗号分隔

DECLARE @T1 table ( UserID int , UserName nvarchar(50), CityName nvarchar(50) ); insert into @T1 (UserID,UserName,CityName) values (1,'a','上海') insert into @T1 (UserID,UserName,CityName) values (2,'b','北京') insert into @T1 (UserID,UserName,CityName)

用含有合并单元格的数据创建数据透视表

大家知道,使用含有合并单元格的数据创建数据透视表时,会有空的结果出来,不能达到我们的要求,问题的关键在于被合并的单元格的值是空值,那么,问题来了,怎么把这些被合并的单元格作为有值合并呢,即,虽然被合并,但值还在,只是不显示出来而已,这样创建出的数据透视表就能得到正确的结果了. 上图: 操作: 0.原始含合并单格格的值为"原始"部分: 1.将0的部分使用格式刷刷至①处保留: 2.将"原始"部分取消合并单元格,并填充为正常的值: ※ 如果数据量较大,可以参考这个方法进行

Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数

示例表 tb 数据如下 id value-----1 aa1 bb2 aaa2 bbb2 ccc SELECT id, [val] = ( SELECT [value] + ',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') ) FROM tb AS a 显示结果 1 aa,bb, 1 aa,bb, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, SELECT id, [val]=( SELECT [v

合并多行查询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数

示例表 tb 数据如下 id value—————1 aa1 bb2 aaa2 bbb2 ccc 第一种 SELECT id, [val]=( SELECT [value] +',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') ) FROM tb AS a 第一种显示结果 1 aa,bb, 1 aa,bb, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, 2 aaa,bbb,ccc, 第二种 SELECT id, [val]=( S

SQL Server使用递归查询数据

功能描述:有两张表,一张业务部门表A(A表中存某公司的所有业务部门信息),另一张表为用户表B(B表中存某公司所有用户所在的业务部门信息),要求使用SQL语句查询出各个部门的用户数量(注意:统计各业务部门的用户数量时,需要将其下所有子部门的用户统计进去): 表A: 表B:     方法描述: 使用SQL Server的递归方式: 1.先联合两张表查询数据,并将查询出的结果存放在临时表中: 2.使用cte方法从临时表中查询数据: 具体的SQL脚本如下: select B.用户名, B.业务部门, A

SQL递归查询(with cte as) 物料分解

需求 最近在做一个MRP的项目,需要根据生产下达的计划从原始无聊表中分解出成品所需要的原材料和数量. 参考 http://www.cnblogs.com/xqhppt/archive/2011/02/15/1955366.html http://www.cnblogs.com/guoysh1987/archive/2011/12/23/2299379.html 代码实现 SQL数据表结构 CREATE TABLE [dbo].[cProduction]( [ID] [int] IDENTITY(

SQL递归查询(with cte as)

http://www.cnblogs.com/xqhppt/archive/2011/02/15/1955366.html 2011-02-15 16:41 by 忧忧夏天, 2415 阅读, 0 评论, 收藏, 编辑 with cte as(select Id,Pid,DeptName,0as lvl from Departmentwhere Id =2unionallselect d.Id,d.Pid,d.DeptName,lvl+1from cte c innerjoin Departme

Python合并多个Excel数据

安装模块 1.找到对应的模块  http://www.python-excel.org/ 2.用pip install 安装 pip install xlrdpip install XlsxWriter pip list查看 XlsxWriter示例 1 import xlsxwriter 2 3 # 创建一个工作簿并添加一个工作表 4 workbook = xlsxwriter.Workbook("demo.xlsx") 5 worksheet = workbook.add_work

Element Table 动态合并 添加整行数据

效果如图所 添加整行数据,前面几列还是合并状态 直接上代码 1 // 获取列表, 2 getTableDataList() { 3 this.tableData3 = [ 4 { 5 all: "a1", 6 name: "名字1", 7 value1: "b1", 8 value2: 1, 9 value3: "2017年-10月" 10 }, 11 { 12 all: "a1", 13 name: &q