位置: 编程技术 - 正文

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个)

  • 金税三期反映出来的是前几年的问题
  • 财务软件费用可以抵税吗
  • 2021年白酒新政策
  • 资金占用费税前扣除比例
  • 加油充值卡发票能入账吗
  • 企业劳务外包员工有五险一金吗
  • 非行政性罚款可以撤销吗
  • 两免三减半的概率是多少
  • 销售的增值税怎么算
  • 超额投资是什么意思
  • 专家咨询费模板
  • 公司注册前发生费用没有发票怎么办
  • 购置办公大楼
  • 公司厂房拆迁要交税吗
  • 物业收取水费比水厂收的高怎么办
  • 老板向公司借款用于公司经营
  • 土地增值税清算规程实施细则
  • 个人去税务局开居间费发票
  • 税务局每年都会查我公司虚开发票
  • 铲车费属于劳务费吗
  • 甲供材简易征收税率
  • 被吊销营业执照的公司如何注销
  • 企业大中小型划分最新标准
  • 工程税票怎么开需要交多少
  • 建筑发票怎么抵税
  • 人工成本如何申报个税
  • 土地增值税允许扣除的评估价
  • 2021年如何申报海外收入
  • 应收账款账龄分析简单例题
  • 适用增值税简易计税的项目
  • 电脑屏幕突然黑屏怎么回事
  • 手把手教你win7换主板不重装系统的方法
  • php代码生成器
  • mac cpu
  • linux root没有权限
  • 工程决算审计费收费标准
  • 股份支付如何缴纳个人所得税?
  • 正常损失非正常损失
  • chat function
  • 房地产开发企业分为几个等级
  • densenet详解
  • vue中用echarts
  • nvm 安装node
  • 外贸出口退税操作流程
  • 固定资产支出计入什么科目
  • 主营业务成本和生产成本的区别
  • 各会计科目的含义
  • 土地使用税的征税范围有哪些
  • 一般纳税人不得从销项税额中抵扣的进项税额有哪些?
  • 支付银行贷款利息现金流量表填哪里
  • python中input转换
  • PostgreSQL新手入门教程
  • 防伪税控开票系统年费
  • 增值税直接计算法间接计算法举例
  • 以货换货如何做账
  • 一般纳税人抵扣怎么算
  • 小企业会计准则坏账怎么处理
  • 固定资产小汽车折旧怎么计提
  • 通行费电子发票抵扣填写到附表二的第几栏次
  • 应收票据和应收账款减少说明什么
  • 租赁车子
  • 公认会计原则是哪个国家的?
  • 总账和明细账的区别与联系
  • mysql安装不成功怎么办
  • 删除sql server2008
  • win7总是提示激活
  • win10 edge浏览器在哪里
  • 怎么把ubuntu装在u盘上
  • linux的io
  • linux 常用 命令
  • surface使用
  • nodejs代码规范
  • python 多线程调用
  • 右键隐藏在哪
  • 理解JavaScript事件对象
  • js初级教程
  • javascript面向对象精要pdf
  • jquery 模态窗口
  • 贵阳税务官网登录
  • 房租是不是先交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设