當前位置:首頁 » 編程語言 » sqlserver樹形查詢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver樹形查詢

發布時間: 2022-06-07 19:43:56

1. sql樹形層級查詢

你好的!
oracle 的start with connect by
別的資料庫用cte 遞歸都能達到你要的效果!
望採納~

2. sqlserver2008樹查詢,急急急,求大神教育

你想要達到的預期效果是什麼?

3. sqlserver查詢樹形結構的所有子節點

sqlserver查詢樹形結構的所有子節點
用標准sql的with實現遞歸查詢(sql2005以上肯定支持,sql2000不清楚是否支持):

with subqry(id,name,pid) as (
select id,name,pid from test1 where id = 5
union all
select test1.id,test1.name,test1.pid from test1,subqry
where test1.pid = subqry.id
)
select * from subqry;

4. 如何用sql語句實現樹形的資料庫表查詢

如果樹的層數固定就可以用語句查詢,但效率比較低。例如你說的三層:
select id,v2.name+name from t1 inner join
(select id,v1.name+name as name from t1 inner join
(select id,name from t1 where parentid = 0) v1 on t1.parentid = v1.id) v2 on t1.parentid = v2.id

5. sqlserver遍歷樹形目錄

使用sqlserver遞推查詢,可以直接查詢出來。
參考資料:http://www.cnblogs.com/xfrog/archive/2010/10/10/1847462.html
WITH lmenu(nav_id,nav_name,nav_parentid,level) as
(
SELECT nav_id,nav_name,nav_parentid,0 level FROM nav nav_parentid=0
UNION ALL
SELECT A.nav_id, A.nav_name,a.nav_parentid, b.level+1 FROM gs_nav A,lmenu b where a.nav_parentid= b.nav_id and nav_id = 10
)
SELECT * from lmenu

具體SQL語句還需要自己驗證一下,上面的自己看著亂寫的。

6. sql怎麼實現樹查詢

表格式如下:

cid pid cname
1 0 董事長
2 1 CEO
3 2 銷售經理
4 2 IT經理
5 2 運營經理
6 3 銷售主管
7 4 IT主管
8 5 運營主管
9 6 業務員
10 7 程序員
11 8 運營員

create function get_detail(
@id int
)returns @re table(id int,level int)
as
begin
declare @l int
set @l=0
insert @re select @id,@l
while @@rowcount>0
begin
set @l=@l+1
insert @re select a.cid,@l
from table_2 a,@re b
where a.pid=b.id and b.level=@l-1
end
return
end
go

--調用(查詢所有的子)
select a.*,level=b.level from table_2 a,get_detail(2)b where a.cid=b.id

7. 如何用SQL解決樹查詢問題,急!!!

oracle中的select語句可以用START WITH...CONNECT BY PRIOR子句實現遞歸查詢,connect by 是結構化查詢中用到的,其基本語法是:

select * from tablename start with cond1
connect by prior cond2
where cond3;

簡單說來是將一個樹狀結構存儲在一張表裡,比如一個表中存在兩個欄位:
id,parentid。那麼通過表示每一條記錄的parent是誰,就可以形成一個樹狀結構。

用上述語法的查詢可以取得這棵樹的所有記錄。

其中COND1是根結點的限定語句,當然可以放寬限定條件,以取得多個根結點,實際就是多棵樹。

COND2是連接條件,其中用PRIOR表示上一條記錄,比如 CONNECT BY PRIOR ID=PRAENTID就是說上一條記錄的ID是本條記錄的PRAENTID,即本記錄的父親是上一條記錄。

COND3是過濾條件,用於對返回的所有記錄進行過濾。

8. 關於sql server中的樹查詢

就用with遞歸,根節點等級為0,遞歸時每級+1

9. sql 查詢樹形數據。

如果樹的層數固定就可以用語句查詢,但效率比較低。例如你說的三層:
select id,v2.name+name from t1 inner join
(select id,v1.name+name as name from t1 inner join
(select id,name from t1 where parentid = 0) v1 on t1.parentid = v1.id) v2 on t1.parentid = v2.id