查詢某個紀錄的所有父類的紀錄!

2021-04-13 06:19:07 字數 1907 閱讀 8007

category 表:

categoryid     categoryname    parentid

1              新聞            0

2              文化            0

3              國內            1

4              國際            1

5              廣東            3

6              廣西            3

7              廣州            5

當 categoryid 輸入 7 時,顯示以下結果:

1              新聞            0

3              國內            1

5              廣東            3

7              廣州            5

create table category

(categoryidint,

categorynamenvarchar(20),

parentidint)go

insert into category select 1,'新聞',0

union all select 2,'文化',1

union all select 3,'國內',1

union all select 4,'國際',3

union all select 5,'廣東',3

union all select 6,'廣西',5

union all select 7,'廣州',5

gocreate procedure proc_catetory @id int

asdeclare @pid int

declare @count varchar(50)

set @count='0'

label:

select @pid=parentid

from category

where categoryid=@id

while exists(select 1 from category where categoryid=@id)

begin

set @count=@count+cast(@id as varchar(5))

set @id=@pid 

goto label

endset @count= cast(cast(@count as int) as varchar(50))

select *

from category

where charindex(cast(categoryid as varchar(5)),@count)<>0

exec proc_catetory 7

categoryid  categoryname         parentid   

----------- -------------------- -----------

1           新聞                   0

3           國內                   1

5           廣東                   3

7           廣州                   5

當 categoryid 輸入 3 時,顯示以下結果:

1              新聞            0

3              國內            1

當 categoryid 輸入 1 時,顯示以下結果:

1              新聞            0

如何刪除所有紀錄都為NULL的表

這個需求是今天看到一在論壇提出的問題,這裡的紀錄為null,是指的紀錄為 null 值,而並不是表的紀錄數為0,所以我們可以通過checksum函式來實現這個需求,下面是實現的demo 執行環境 sql server 2005 use tempdb go set nocount on if obje...

Max Decode的妙用 紀錄分組

條件 tablename material field name serial number,group name,lot id date example 1 10001,mb md,mbid000001 2 10001,tve md,tveid000001 3 10001,modem md,mod...

R語言的函式紀錄

is.na 用於檢測是否為預設值 read.csv 用於讀取csv文件,預設有開頭 source 用於讀取r語言的檔案 pi 圓周率 quantile x,u 用於獲得分位數,x為資料本身,u可選,如果忽略u,則獲取4分位數,u為分位數列表 median 中位數 mean 均值 var 方差 sd ...