社区
MS-SQL Server
帖子详情
请问sql server 2005中对一个表进行递归查询用 cte怎么处理?
FEEDOMING
2006-08-15 05:39:00
我看的例子怎么都是对多个表的,
能否从一个表里面进行递归呢?
例如表 tree
id pid text
-- --- ----
1 0 t1
2 0 t2
3 1 t1_1
4 1 t1_2
5 3 t1_1_1
当我选中id =1的时候,如何把id=1下面的所有子节点得到呢?
...全文
191
3
打赏
收藏
请问sql server 2005中对一个表进行递归查询用 cte怎么处理?
我看的例子怎么都是对多个表的, 能否从一个表里面进行递归呢? 例如表 tree id pid text -- --- ---- 1 0 t1 2 0 t2 3 1 t1_1 4 1 t1_2 5 3 t1_1_1 当我选中id =1的时候,如何把id=1下面的所有子节点得到呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FEEDOMING
2006-08-15
打赏
举报
回复
多谢
i9988
2006-08-15
打赏
举报
回复
学习
子陌红尘
2006-08-15
打赏
举报
回复
USE demo
GO
CREATE TABLE CarParts
(
CarID INT NOT NULL,
Part VARCHAR(15),
SubPart VARCHAR(15),
Qty INT
)
GO
INSERT CarParts VALUES (1, 'Body', 'Door', 4)
INSERT CarParts VALUES (1, 'Body', 'Trunk Lid', 1)
INSERT CarParts VALUES (1, 'Body', 'Car Hood', 1)
INSERT CarParts VALUES (1, 'Door', 'Handle', 1)
INSERT CarParts VALUES (1, 'Door', 'Lock', 1)
INSERT CarParts VALUES (1, 'Door', 'Window', 1)
INSERT CarParts VALUES (1, 'Body', 'Rivets', 1000)
INSERT CarParts VALUES (1, 'Door', 'Rivets', 100)
INSERT CarParts VALUES (1, 'Door', 'Mirror', 1)
GO
SELECT * FROM CarParts
GO
WITH CarPartsCTE(SubPart, Qty)
AS
(
-- 固定成员 (AM):
-- SELECT查询无需参考CarPartsCTE
SELECT SubPart, Qty
FROM CarParts
WHERE Part = 'Body'
UNION ALL
-- 递归成员 (RM):
-- SELECT查询参考CarPartsCTE
SELECT CarParts.SubPart, CarPartsCTE.Qty * CarParts.Qty
FROM CarPartsCTE
INNER JOIN CarParts ON CarPartsCTE.SubPart = CarParts.Part
WHERE CarParts.CarID = 1
)
-- 外部查询
SELECT SubPart, SUM(Qty) AS TotalNUM
FROM CarPartsCTE
GROUP BY SubPart
sql
server
2005
使用
CTE
实现递归
###
SQL
Server
2005
中
使用
CTE
实现递归 #### 一、
CTE
递归原理 在
SQL
Server
2005
中
,使用公共
表
表
达式(Common Table Expression,
CTE
)实现递归是一种高效且直观的方式。递归
CTE
通常由两部分构成:定位...
SQL
Server
CTE
递归查询
全解1
SQL
Server
中
的
递归查询
主要通过
CTE
(公共
表
表
达式)来实现,它是一种非常强大的工具,特别适用于
处理
层次结构数据。
CTE
是T-
SQL
脚本
中
的临时结果集,可以用于复杂的查询,尤其是需要递归操作的情况。本文将深入探讨...
[
sql
server
]
SQL
Server
2005
杂谈(2):公用
表
表
达式(
CTE
)的递归调用.doc
在本文
中
,我们使用
一个
树型结构的数据
表
t_tree 来演示
CTE
的递归调用。该
表
有三个字段:id、node_name、parent_id,其
中
id
表
示当前省、市或区的 id 号、node_name
表
示名称、parent_id
表
示节点的父节点的 id。...
sql
server
2008
递归查询
所有上级或下级数据
通过以上分析可以看出,在
SQL
Server
2008
中
使用
CTE
进行
递归查询
是一种高效且易于理解的方法。通过定义基础情况和递归规则,可以轻松地获取所有上级或下级数据。然而,在实际应用过程
中
,还需要综合考虑性能等因素,...
SQL
递归查询
,并将结果集保存在临时
表
中
在给定的场景
中
,我们需要根据
一个
特定的节点ID查询出该节点及其所有子节点,并将这些结果存储在
一个
临时
表
中
。以下是实现这一目标的详细步骤和相关知识点: 1. **
CTE
(公共
表
表
达式)**: 公共
表
表
达式(Common ...
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章