`
caobihole
  • 浏览: 948825 次
文章分类
社区版块
存档分类
最新评论

关于SQL Server下无限多级别分类查询解决办法

 
阅读更多

在开发中经常会遇到无限级分类的问题,最常见的是一些无限级目录之类的,如果你对SQL Server还不是太熟悉或者还不太熟悉SQL语言的话,这将是一件很困难的事情,也许你最后能实现类似的功能,不过可能花费的时间很长,效率也不是很理想,下面的示例也许能给你一个启示。

/***创建表****/
CREATETABLE[dbo].[Tree](
[ID][int]IDENTITY(1,1)NOTNULL,
[PID][int]NULL,
[Name][varchar](10)COLLATEChinese_PRC_CI_ASNULL
)
ON[PRIMARY]

/****创建自定义函数****/
CREATEFUNCTIONdbo.fGetTreeTable
(
@IDint=null
)
RETURNS@TabTABLE(IDint,PIDint,Namevarchar(10),Levint)--返回结果的表结构
AS
BEGIN
Declare@levint
Set@lev=0

While@lev=0or@@ROWCount>0
Begin
Set@Lev=@Lev+1
Insert@Tab(ID,PID,Name,Lev)
SelectID,PID,Name,@LevFromTreeWhere(@Lev=1and((PID=@ID)or(@IDisnullandPIDisnull)))or(PIDin(SelectIDFrom@TabWhereLev=@Lev-1))
orderbyID
End
RETURN
END

直接查询Select * from dbo.fGetTreeTable(null)就可以输入所有记录。

说明:本文转载自:http://drc.cnblogs.com/articles/269062.html,如有问题可以向原作者提出。

分享到:
评论

相关推荐

    SQL无限级查询

    NULL 博文链接:https://404320974.iteye.com/blog/1318687

    ASP 无限级分类实现

    ASP递归无限级分类函数 代码如下: <...‘ cat_childs -> 下级分类编号 ‘ cat_select -> 选择的分类 ‘ cat_dir -> 分类级别 ‘返回:返回分类列表(Option) dim conn,cmd,rs,cat_arr Set conn = Server.Cre

    单用户微信商城管理系统(无限版)v20190629.rar

    本系统采用ASP语言 ACCESS数据库(可升迁至SQLSERVER数据库)架构。 本系统采用TPL模版引擎加载技术开发,实现了MVC开发模式,使业务逻辑与界面很好的分离。更具特色的是可以在TPL模版文件中使用SQL语句串,可以自由...

    【最新版】modeler030_en.dmg navicat-data-modeler: 3.0.8【亲测可用】最好的数据库设计工具

    Navicat Data Modeler支持各种数据库系统,包括MySQL,MariaDB,Oracle,SQL Server,PostgreSQL和SQLite。 数据库对象 使用专业的对象设计器创建,修改和设计模型,可用于表和视图。无需编写复杂的SQL来创建和编辑...

    Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记

    动态生成菜单(无限级别树)  2.系统环境配置  项目需要程序数据支撑,这里选择MVC5.0+EF6.0[SQLSERVER](不对MVC架构和SQLServer做出解读)  运行环境:VS2013+MVC5.0+EF6.1+SQLServer2012  解决方案名称:...

    asp学习相关资料大全

    很多关于asp的学习,很有帮助 基于ASP的学生信息管理系统的设计与实现 来源:中国论文下载中心 [ 08-11-24 09:11:00 ] 作者:admin 编辑:cw2112549 摘 要 由于学校规模进一步扩大,学生人数逐年上升,学生信息...

    NetShop网店系统 v2.0 Beta

    12、后台商品支持无限级分类,会员无限级别价格设计,强大的配送支付及运费计算。 13、安全的日志管理,登录日志、操作日志,错误日志 14、内置短信接口,下订单第一时间通知到你。 15、灵活的开关及图片大小尺寸...

    C#编程经验技巧宝典

    2 <br>0003 设置程序代码行序号 3 <br>0004 开发环境全屏显示 3 <br>0005 设置窗口的自动隐藏功能 3 <br>0006 根据需要创建所需解决方案 4 <br>0007 如何使用“验证的目标架构”功能 4 ...

    创想商务CXECS B2C网店系统更新版v2.3.1

    3) 本网店系统采用微软主流语言C#/.Net2.0构建,数据库采用SQLServer数据库,服务器环境兼容性强,可移植性强,系统安全高效,在安装和操作上十分便捷。网站使用缓存技术,经过.NET的第一次加载后,在运行速度上超快...

    【最新版】modeler030_ess_mac_en.zip navicat-data-modeler-essentials: 3.0.8【亲测可用】最好的数据

    Navicat Data Modeler支持各种数据库系统,包括MySQL,MariaDB,Oracle,SQL Server,PostgreSQL和SQLite。 数据库对象 使用专业的对象设计器创建,修改和设计模型,可用于表和视图。无需编写复杂的SQL来创建和编辑...

    万能后台管理模板javaweb

    4. 数据字典:无限级别,支持多级别无限分类。内设编号,排序等 5. 组织机构:无限级别,公司or部门管理 6. 在线管理:websocket技术,实时检测在线用户列表,统计在线人数,可强制用户下线 同一用户只能在一个客户端...

    安信微信商城管理系统 微信商城网站源码 微信销售平台源码

    本系统采用ASP语言+ACCESS数据库(可升迁至SQLSERVER数据库)架构。 本系统采用TPL模版引擎加载技术开发,实现了MVC开发模式,使业务逻辑与界面很好的分离。更具特色的是可以在TPL模版文件中使用SQL语句串,可以自由在...

    免费netshop网店系统,基于.NET平台开发

    12、后台商品支持无限级分类,会员无限级别价格设计,强大的配送支付及运费计算。 13、安全的日志管理,登录日志、操作日志,错误日志 14、内置短信接口,下订单第一时间通知到你。 15、灵活的开关及图片大小尺寸...

    MF00887-ASP.NET网盘管理源码.zip

    ASP.NET仿百度网盘管理系统源码 开发语言 : C# 数据库 : SQL2008 ...注意事项:1、开发环境为Visual Studio 2012,数据库为SqlServer2008R2,使用.net 4.0开发。  2、 账户密码:Admin 密码:123456 

    MF00063-仿百度云盘源码.zip

    ASP.NET仿百度网盘管理系统源码 开发语言 : C# 数据库 : SQL2008 ...注意事项:1、开发环境为Visual Studio 2012,数据库为SqlServer2008R2,使用.net 4.0开发。  2、 账户密码:Admin 密码:123456 

    虚拟主机管理(功能强大,全面,智能)

    ※ 分类系统,所有产品、服务均支持分类。包括:域名、虚拟主机、FTP主机、企业邮局、数据库、新闻、帮助中心、客服等。 ※ 优惠套餐系统,管理员可随意组合定制优惠套餐。 ※ 支持服务器租用、托管产品。管理员可...

    EasyHost虚拟主机管理 v3.0.rar

    ※ 分类系统,所有产品、服务均支持分类。包括:域名、虚拟主机、FTP主机、企业邮局、数据库、新闻、帮助中心、客服等。 ※ 优惠套餐系统,管理员可随意组合定制优惠套餐。 ※ 支持服务器租用、托管产品。管理员可...

    3C手机电脑数码商城系统

    本系统采用ASP语言+ACCESS数据库(可升迁至SQLSERVER数据库)架构,系统前台页面自动生成HTML静态化页面。 本系统采用TPL模版引擎加载技术开发,实现了MVC开发模式,使业务逻辑与界面很好的分离。更具特色的是可以在...

    3C手机电脑数码商城v1.0.0免费版

    本系统采用ASP语言+ACCESS数据库(可升迁至SQLSERVER数据库)架构,系统前台页面自动生成HTML静态化页面。 本系统采用TPL模版引擎加载技术开发,实现了MVC开发模式,使业务逻辑与界面很好的分离。更具特色的是可以在...

    安信单商户网店系统 v20190610.rar

    本系统采用ASP语言 ACCESS数据库(可升迁至SQLSERVER数据库)架构,系统前台页面自动生成HTML静态化页面。 本系统采用TPL模版引擎加载技术开发,实现了MVC开发模式,使业务逻辑与界面很好的分离。更具特色的是可以在...

Global site tag (gtag.js) - Google Analytics