位置: 编程技术 - 正文

sqlserver另类非递归的无限级分类(存储过程版)(sql中的非逻辑)

编辑:rootadmin
下面是我统计的几种方案: 第一种方案(递归式): 简单的表结构为: CategoryID int(4), CategoryName nvarchar(), ParentID int(4), Depth int(4) 这样根据ParentID一级级的运用递归找他的上级目录。 还有可以为了方便添加CategoryLeft,CategoryRight保存他的上级目录或下级目录 第二种方案: 设置一个varchar类型的CategoryPath字段来保存目录的完整路径,将父目录id用符号分隔开来。比如:1,5,8, 第三种方案: 每级分类递增两位数字的方法 示例: 一级分类:,,,... 二级分类:,,,... 三级分类:,,... 分析一下,其实第三种方案并不能真正意义上做无限级的分类,而第二种方案,虽然比较容易得到各上级及下级的分类信息。但,添加和转移分类的时候操作将很麻烦。 而且,也完全违反了数据库设计范式。 其实我也一直在用第二种方案的。为了查找方便,我有时都在新闻表里加上CategoryID和CategoryPath 而我今天要说的算法其实是第二种方案的改进版,一般做分类都是使用一个表格来保存分类信息。 而我这里,要新建两个表格,一个表格是保存分类信息表,一个保存分类关系表。 表结构如下: 表1:tomi_Category CategoryID int(4), '编号 CategoryName nvarchar(), '分类名称 Depth int(4), '深度 表2:tomi_CategoryBind CategoryID int(4), BindCategoryID int(4), Depth int(4), 添加,编辑,删除操作有点麻烦。。我是直接用存储过程的。。不知道大家能看得懂不。。哈哈。 1、添加分类(Category_Add) 每个分类在tomi_CategoryBind有完整的目录结构。。一个分类在tomi_CategoryBind的记录数等于他在tomi_Category的depth值。 图片: 2、编辑修改分类(Category_Edit) 3、删除分类(Category_Del) 会直接删除子分类 4、分类列表,显示分类(Category_List) exec Category_List 可以直接让分类等级查询出来。而且显示全部的话,一次查询即可,只需判断depth就行。 图片: 5、上级子分类列表 (Category_upTree) exec Category_UpTree 这样就可以得到一个分类的完整子目录集,方便吧,只要一条sql. 图片: 6、下级子分类列表(Category_downTree) exec Category_DownTree 这样可以得到一个分类完整下级目录。比如得到某个分类和其分类的子分类下的所有产品用这个就好。。方便,一条sql. 图片: 以上是初稿,只是随意的测试了几次。。。有错误的,还请大家指出。。 呵呵。转载请注明链接,博客园首发,多谢。 作者:TomiWong 时间:..

推荐整理分享sqlserver另类非递归的无限级分类(存储过程版)(sql中的非逻辑),希望有所帮助,仅作参考,欢迎阅读内容。

sqlserver另类非递归的无限级分类(存储过程版)(sql中的非逻辑)

文章相关热门搜索词:sql 非,sql取非集,sql中的非逻辑,sql 非,sql 非,sql中的非逻辑,非sql 数据库,sql 非,内容如对您有帮助,希望把文章链接给更多的朋友!

一个用来统计相同姓名人数的SQl语句 sql语句查询表结构是这样:ID姓名性别1张三男2王四男3丽丽女4张三男5赵柳男6高洁男7王四女8高洁女9张三女怎么能用一条SQL语句查询出如下的结果姓名

SQLSever导入数据图文方法 首先登录到远程数据库服务器:1.右击您准备导入数据的数据库,选择所有任务下的导入数据2.进入DTS导入/导出向导,点击下一步按钮继续3.选择数据源

数据库备份 SQLServer的备份和灾难恢复 各大服务器硬件厂商(IBM,HP等)提供有很好的数据保护策略(硬件或软件).如大家熟知的RAID磁盘阵列(RedundantArrayofIndependentDisks)就是很好的数据保护方法.就SQL

标签: sql中的非逻辑

本文链接地址:https://www.jiuchutong.com/biancheng/349491.html 转载请保留说明!

上一篇:SQLServer2005 按照日期自动备份的方法(sqlserver按时间查询)

下一篇:一个用来统计相同姓名人数的SQl语句(统计得到的一组数据有80个)

  • 企业所得税工会经费调整
  • 小微企业普惠性税收减免政策2019 13号
  • 来料加工出口免税不退税
  • 社保公积金计提是本月计提下月
  • 公司电视机 摊销多少年
  • 小规模纳税人多少免征增值税
  • 当月商品已出库货款未收到怎么做分录?
  • 仓库常用包材
  • 公交补贴收入账务处理怎么做?
  • 销售废旧物资增值税新政策
  • 事业单位存货盘盈
  • 应收账款确认无法收回
  • 购买土地建房出售怎么做账
  • 电子发票已缴税怎么查
  • 税控盘没清盘怎么处罚
  • 会计师事务所执业许可和监督管理办法
  • 1697506445
  • 交通费进项税抵扣计算
  • 非正常损失进项税额转出计算
  • 公司租赁个人车辆需要哪些手续
  • 王者荣耀如何充值退款
  • 收到发票未抵扣谁开红字
  • win10更新21h1后很卡
  • macbook隐藏
  • php快速查找
  • 现行预计负债的计算公式
  • 安全生产专用设备目录
  • 离职补贴个税计算公式
  • 计算机网络的基本概念
  • 固定资产如何抵成本
  • 国债持有期间未兑付的利息所得税
  • 转让土地需要办什么手续
  • php 收邮件
  • vue split函数
  • 6.824 Lab 1: A simple web proxy
  • 什么是现金流量净额
  • 固定资产支出计入什么科目
  • 现金销售商品的会计分录
  • 如何查询上年企业所得税
  • 其他综合收益在报表中的位置
  • js中promise的三种状态
  • 建筑企业预缴的增值税怎么抵扣
  • 将MySQL help contents的内容有层次的输出方法推荐
  • mysql数据库维护
  • 弥补以前年度亏损怎么算
  • 经营性应收项目的减少调增 为什么是减
  • 城建税和教育附加税怎么算
  • 购买空调报销单怎么填
  • 以土地作价投资合伙企业是否缴纳土地增值税
  • 买方的现金折扣会计分录
  • 办公室租赁费摊销分录
  • 为什么一般纳税人税率高
  • 生产成本有贷方余额怎么调整
  • 部门费用的核算包括
  • 工程预缴税款的预征税额如何计算
  • 其他业务支出包括哪些内容科目
  • 会计做账的凭据怎么写
  • windows sfc命令
  • centos基本环境
  • perl scripts
  • 浏览器隐藏用法
  • 为什么要建立文明城市
  • unity3D游戏开发
  • javascript的原型,原型链,有什么特点?
  • javascript内置对象应用团购
  • linux中使用bash是什么意思
  • 批处理计数
  • python语言怎么用
  • DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
  • android studio代码写在哪
  • 狗刨好学吗
  • frontpage网页表单
  • javascript编程技术
  • realm数据库连接
  • 完税证明可以自己在家打印吗
  • shell ftp -n
  • 广东省电子税务局app下载官网
  • 湖南社保费申报测算管理系统登录不了
  • 海口地税局领导班子
  • 关于切实加强建筑施工领域安全防范工作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设