递归查询构造jquery tree

1 现在有如下的一张表:

 

CREATE TABLE [dbo].[ThemeCategory]
(
[ID] [int] NOT NULL,
[ThemeCategoryName] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL,
[ThemeCategoryCode] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL,
[ParentId] [int] NULL,
[OrderId] [int] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ThemeCategory] ADD CONSTRAINT [PK_THEMECATEGORY] PRIMARY KEY CLUSTERED  ([ID]) ON [PRIMARY]
GO

 

其中

ParentId

是它的父ID

现在有一个要求,给某条记录的ID 要递归出它的祖先记录们,也就是倒推回去

 

2 表的内容如下

ID    ThemeCategoryName    ThemeCategoryCode    ParentId    OrderId
1    1    tcfl    0    435
2    2    2    0    43
3    3    3    0    1
4    11    1111    1    1
5    21    21    2    54
6    211    sdfsd    5    342

 

 

3 实现递归遍历的方法

with temp_ThemeCategory ( [Id], [ParentId],[ThemeCategoryName])
as
(
    select [Id], [ParentId],[ThemeCategoryName]
    from PE_C_ThemeCategory
    where ID = @publicThemeId
    union all
    select a.Id, a.parentid,a.ThemeCategoryName
    from ThemeCategory a
    inner join temp_ThemeCategory on a.[id] = temp_ThemeCategory.[ParentId]
) 
select * from temp_ThemeCategory ORDER BY Id ASC

 

 

这样查出来就是

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值