一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL Server 樹形表非循環遞歸查詢的實例詳解

SQL Server 樹形表非循環遞歸查詢的實例詳解

2020-05-11 15:12小蝦9527 Sql Server

這篇文章主要介紹了SQL Server 樹形表非循環遞歸查詢的實例詳解的相關資料,本文介紹的非常詳細具有參考借鑒價值,需要的朋友可以參考下

很多人可能想要查詢整個樹形表關聯的內容都會通過循環遞歸來查...事實上在微軟在SQL2005或以上版本就能用別的語法進行查詢,下面是示例。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--通過子節點查詢父節點
WITH
TREE AS(
SELECT * FROM Areas
WHERE id = 6 -- 要查詢的子 id
UNION ALL
SELECT Areas.* FROM Areas, TREE
WHERE TREE.PId = Areas.Id
)
SELECT Area FROM TREE
--通過父節點查詢子節點
WITH
TREE AS(
SELECT * FROM Areas
WHERE id = 7 -- 要查詢的子 id
UNION ALL
SELECT Areas.* FROM Areas, TREE
WHERE TREE.Id = Areas.PId
)
SELECT Area FROM TREE

通過子節點查詢父節點查詢結果為:

SQL Server 樹形表非循環遞歸查詢的實例詳解

修改代碼為

?
1
2
3
4
5
6
7
8
9
10
11
12
--通過子節點查詢父節點
declare @area varchar(8000);
WITH
TREE AS(
SELECT * FROM Areas
WHERE id = 6 -- 要查詢的子 id
UNION ALL
SELECT Areas.* FROM Areas, TREE
WHERE TREE.PId = Areas.Id
)
select @area=isnull(@area,'')+Area from Tree order by id
select Area= @area

則結果為:中國北京市豐臺區

根據以上可以將這段代碼封裝為一個存儲過程

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-----存儲過程,遞歸獲取樹形地區表字符串
if exists (select * from sysobjects where name='SP_GetAreaStr')
drop proc SP_GetAreaStr
go
create procedure SP_GetAreaStr
@id int
as
declare @area varchar(8000)
begin
WITH
TREE AS(
SELECT * FROM Areas
WHERE id = @id -- 要查詢的子 id
UNION ALL
SELECT Areas.* FROM Areas, TREE
WHERE TREE.PId = Areas.Id
)
select @area=isnull(@area,'')+Area from Tree order by id
select Area= @area
end
go
--exec sp_helptext 'SP_GetAreaStr'
--go
exec SP_GetAreaStr 28
go

查詢結果:中國安徽省宿州市靈璧縣

所用表結構:

SQL Server 樹形表非循環遞歸查詢的實例詳解

部分數據:

SQL Server 樹形表非循環遞歸查詢的實例詳解

以上所述是小編給大家介紹的SQL Server 樹形表非循環遞歸查詢的實例詳解的相關知識,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

原文鏈接:http://www.cnblogs.com/lpz89/archive/2016/10/01/5925672.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美调教打屁股spank视频 | 天美传媒在线视频 | 二区三区在线观看 | 国产91在线免费 | 丫鬟粗大狠狠贯穿h | 国产午夜久久精品 | 2020国产精品视频免费 | 国产免费久久精品44 | 亚洲男人天堂网站 | 亚洲国产成人超福利久久精品 | 天堂资源在线www中文 | 欧美日韩高清观看一区二区 | 国产资源一区 | 国语在线 | 国产91第一页 | 国产成+人+亚洲+欧美综合 | 亚洲国产精品网站久久 | 国产福利兔女郎在线观看 | 国产午夜精品不卡视频 | 香蕉精品高清在线观看视频 | 接吻吃胸摸下面啪啪教程 | 亚洲激情偷拍 | 亚洲偷窥图区色 | 欧美特一级 | 无码天堂亚洲国产AV久久 | 日本不卡一区二区三区在线观看 | 日韩ab| 美女女女女女女bbbbbb毛片 | 成人免费影 | 精品国产欧美一区二区三区成人 | 成人免费网址 | 欧美精品v日韩精品v国产精品 | 视频一区二区三区欧美日韩 | 不卡视频一区二区 | 欧美区日韩区 | 调教催眠改造np总攻 | 性导航h | 四虎1515hhcom| 性欧美videofree中文字幕 | 国色天香 社区视频 | 国产免费好大好硬视频 |