很多人可能想要查詢整個樹形表關聯的內容都會通過迴圈遞迴來查...事實上在微軟在sql2005或以上版本就能用別的語法進行查詢,下面是示例。
--來乙個我現實中用到的**吧通過子節點查詢父節點
with
tree
as(
select
*from
tstructure
where id =
6--
要查詢的子 id
union
allselect tstructure.*
from
tstructure, tree
where tree.parent =
tstructure.id
) select
*from
tree
--通過父節點查詢子節點
with
tree
as(
select
*from
tstructure
where parent =
2--
要查詢的父 id
union
allselect tstructure.*
from
tstructure, tree
where tstructure.parent =
tree.id
) select
*from tree
withtree as
(
select
*from
[shar
].[t_module
]where url=''
union
allselect
[shar
].[t_module
].*from
[shar
].[t_module
], tree where tree.fid =
[shar
].[t_module
].id
) select
distinct
*from tree order
by code desc
雙向鍊錶(非迴圈)
雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。1 標頭檔案 dilst.h pragma once 帶頭結點的雙向鍊錶 非迴圈 typedef struct dnode d...
sql server 語句 迴圈 游標 臨時表
create table tmp i sarinfor varchar 10 建立乙個臨時表 insert into tmp select a.i sailorinfoid from cert sailorletter a left join crew sailorinfo b on a.i sai...
SQL SERVER 游標迴圈讀取表資料
cursor 游標 用於迴圈錶行資料,類似指標 格式如下 declare tempindex cursor for select from table 定義游標 open tempindex 開啟游標 fetch next from tempindex into x 抓取下一行資料給變數 while...