sql 递归显示所有父节点
2024-08-30 18:52:28
1.我先建两个表 一个表示项目及级别 另一个表示项目最后一级中包含内容。两个表的数据如图
CREATE TABLE [dbo].[yq_Project](
[ID] [int] IDENTITY(1,1) primary key,
[cCode] [varchar](32) NOT NULL,
[cPriorCode] [varchar](32) NULL,
[cName] [nvarchar](32) NULL,
[cPersonName] [nvarchar](15) NULL,
[cAddr] [nvarchar](20) NULL,
[cTel] [varchar](20) NULL,
[bHead] [bit] NULL,
seq int )
alter table yq_project add cMemo nvarchar(128) create table yq_Qz_House
(
id int identity(1,1) primary key,
cHuHao varchar(16),
cDongHao varchar(16),
cZuoLuo nvarchar(64),
cJieGou nvarchar(32),
cCengCi varchar(16),
cWeiZhi nvarchar(32),
cChaoXiang nvarchar(16),
iYuanLuo decimal(18,2),
dJunGongShiJian datetime,
cLeiBie nvarchar(16),
iZhuFang decimal(18,2),
iFengBiYangTai decimal(18,2),
iWeiFengYangTai decimal(18,2),
iGongYongFenTan decimal(18,2),
cProCode varchar(32)
)
2.新建一个函数 查找父节点
if exists(select name from sysobjects where name='Prants')
drop function Prants
go
create function Prants(@cCode varchar(32))
returns varchar(100)
as
begin
declare @str varchar(100)
set @str=''
declare @num varchar(32)
select @str= cName from yq_project where cCode=@cCode
if exists(select cPriorCode from yq_project where cCode=@cCode)
begin
select @num=cPriorCode from yq_project where cCode=@cCode
set @str=@str+'/'+dbo.Prants(@num)
end
return @str
end
执行查询
select dbo.Prants(cProCode) cProName,* from yq_Qz_House where dbo.Prants(cProCode) like '%棋赛%'
结果如下图
最新文章
- Android-armebi-v7a、arm64-v8a、armebi的坑
- [转]Ubantu vmware tools 安装
- 深度解析SDN——利益、战略、技术、实践(实战派专家力作,业内众多专家推荐)
- lucene-查询query->;PrefixQuery使用前缀搜索
- PDB调试Python程序
- [C] static和extern的作用
- ExtJS入门教程06,grid分页的实现
- PAT 解题报告 1049. Counting Ones (30)
- ssh 配置自动登录
- spark yarn-cluster 和 yarn-client提交的配置
- 遍历List remove方法,雨露均沾
- C++:private继承与public继承
- Linux查看系统负载常用命令
- 高级复制实验配置添加复制节点操作时报错:ORA-23308: object GP.T does not exist or is invalid
- Go 语言集成开发环境 GoLand 更新至 2018.1.3 版本
- string对象方法
- SpringMVC 集成Log4j
- UVA 815 Flooded!
- TSPL学习笔记(2):过程和变量绑定
- Linux Centos下查看cpu、磁盘、内存使用情况,关闭MySQL日志
热门文章
- option click事件
- JS基础复习
- 牛客 最大值减去最小值小于或等于 num 的子数组数量
- 【React-Native】---Android环境配置
- background-size的值cover、contain和100%
- html5本地存储(二)--- SQLList
- WdatePicker设置时间与倒计时
- CKEditor与CKFinder学习--自定义界面及按钮事件捕获
- Java内存管理简述
- 文本聚合函数(wm_concat, listagg, group_concat, string_agg)