麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > 綜合 > 正文

SQL筆記

2024-07-21 02:51:07
字體:
供稿:網(wǎng)友
SQL筆記 - CTE遞歸實(shí)例(續(xù)):顯示指定部門的全稱

前一篇文章中已經(jīng)可以取得所有部門的全稱,但現(xiàn)在又有個新的需求: 只想得到某一個部門的部門全稱,雖然可以用where條件來過濾,但是會有點(diǎn)小浪費(fèi)。 這時我們可以從后往前找,先看下效果:

最后一條就是,行得通! 但是怎么取出來呢? 用ParentUnitID排序? 但是實(shí)際生活中,部門可能調(diào)整或歸并,并不總是 UnitID > ParentUnitID. 所以需要一個類似于 標(biāo)識列的參照物:

 1 Declare @utid int 2 Set @utid = 10        -- the target unit 3 ; 4 With CTE_Unit_Name_Special        -- test: show the full name of every Unit 5 as( 6     select UnitID,  7             --UnitName,  8             Cast(UnitName as nvarchar(max)) as UnitName, 9             ParentUnitID,10             0 as IndexTemp        -- identity11         from Unit12         where UnitID = @utid13     Union All    -- Essential14     select U.UnitID, 15             (16                 U.UnitName + '/' + CU.UnitName17             ) as UnitName, 18             U.ParentUnitID,19             (CU.IndexTemp + 1) as IndexTemp20         from Unit as U21             Inner Join CTE_Unit_Name_Special as CU22             on U.UnitID = CU.ParentUnitID23         where U.ParentUnitID != 0    24 )25 --select * from CTE_Unit_Name_Special26 select top 1 * from CTE_Unit_Name_Special27     --order by ParentUnitID asc    -- only the situation where PUTID < UTID is suited28     order by IndexTemp desc    -- need a reference substance, like a Identity column

結(jié)果不用再顯示了。。。 等等,剛想起來,部門表中有個列UnitLevel是標(biāo)識部門父子層次關(guān)系的,不管部門怎么調(diào)整,這個層次還是有順序的, 可以直接用, 一樣的。。。。

順便捎帶個以前寫的一個函數(shù):

 1 -- Function - get a full unit name of one special unit 2 Create Function FN_GetFullUnitName(@unitID int) 3 Returns nvarchar(1000) 4 as 5 Begin 6     Declare @fullName nvarchar(1000), 7             @level smallint, 8             @parentUTID int 9     select @fullName = UnitName,10            @parentUTID = ParentUnitID,11            @level = UnitLevel12     from Unit13     where UnitID = @unitID14     15     if @level <= 216         return @fullName17     18     while @level > 219     Begin20         Set @unitID = @parentUTID21         select @fullName = UnitName + '/' + @fullName,22                @parentUTID = ParentUnitID,23                @level = UnitLevel24         from Unit25         where UnitID = @unitID26     End    27     return @fullName28 End29 go30 --Drop Function FN_GetFullUnitName31 --select dbo.FN_GetFullUnitName(10)  -- 銷售部/售后科/客服部


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 一边吃奶一边插下面 | 青青草华人在线 | 激情综合婷婷久久 | 日韩午夜一区二区三区 | 久久久婷婷| 国产精品久久久久久久久粉嫩 | 久久精品视频网址 | 日韩精品中文字幕一区二区 | 美女擦逼 | 日本一区二区在线看 | 99pron| 久久色播 | 精品一区二区三区不卡 | 久久艹国产精品 | 成人羞羞在线观看网站 | 黄污视频在线看 | 成人在线视频在线观看 | 宅男噜噜噜66国产免费观看 | 日本xxxx视频 | 日本黄色一级毛片 | 欧美一级高潮片免费的 | 精品一区二区三区免费 | 黄色毛片视频在线观看 | 欧美18一12sex性处hd | 狠狠操视频网站 | 粉嫩蜜桃麻豆免费大片 | 国产日韩大片 | 欧美一级美国一级 | 欧美成人一级片 | 国产午夜电影在线观看 | 日产精品久久久一区二区开放时间 | 免费观看国产精品视频 | 国产精品1区2区在线观看 | 毛片大全 | 色阁阁69婷婷 | 九九色网站 | 黄色特级 | 亚洲免费视 | 黄色av片三级三级三级免费看 | 91麻豆精品国产91久久久无需广告 | 一级黄色免费观看 |