位置: 编程技术 - 正文

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

  • 已申报税额是什么意思,要交吗
  • 实收资本增加印花税怎么算
  • 防伪税控风险纳税人财务负责人和法人同一人
  • 国债利息收入要计入应纳税所得额吗
  • 资产总额季度平均值计算公式
  • 餐饮业可以开增值税专用发票吗?
  • 房租 收入
  • 有形动产经营租赁税率
  • 来料加工与进料加工的相似之处有
  • 材料税款抵扣
  • 员工入股怎么分成
  • 超过诉讼时效的答辩状怎么写
  • 退休返聘人员购买什么商业保险
  • 别人给的发票一直不开
  • 我公司只开了普票未开专票是否需要发票认证?
  • 印花税一定要贴花吗
  • 开发经济适用房是否需要缴纳土增税
  • 房租出租税收编码和税率
  • 土地契税税率怎么计算
  • 售后回租 出租方
  • 速动资产不包括存货和预付账款
  • 收到进项税额发票怎么处理
  • 公司租房可以抵扣个人所得税吗
  • json去除某个字段
  • PHP:session_cache_limiter()的用法_Session函数
  • 出租固定资产取得的净收益计入什么科目
  • 增值税纳税义务人
  • 公司为员工缴纳社保的基数怎么确定
  • PHP:escapeshellcmd()的用法_命令行函数
  • 转让房屋土地增值税如何计算
  • 担保费可以计入什么科目
  • 取得专票怎么结转销售成本
  • 出口退税会计分录怎么做没退到税全部减免抵
  • 申请专用发票怎么申请
  • 补充养老保险费扣除限额
  • wordpress文章分页插件
  • 收取增值税一般是多少
  • 保洁劳务派遣合同
  • h5页面内嵌到微信
  • php静态函数
  • vue backbone
  • 现代信号处理张贤达
  • pytorch自动编码器
  • React基础-JSX事件绑定-事件传参
  • vue生命周期图解
  • laravel 实例
  • df -th命令
  • 计提本月工资社保怎么扣
  • pandas常见操作
  • 公司的融资租赁怎么做账
  • 工程结算成本和主营业务成本一样吗
  • 电子承兑汇票的最长期限
  • 普通费用发票不入账会有什么后果吗
  • 个体工商户的免税证明
  • 公司进项抵税
  • 母公司将子公司股权无偿转让给子公司
  • 出口退回的增值税计入哪个会计科目
  • 建筑工程老项目开票截止日期
  • 房地产企业帐套设置
  • 城镇土地使用税征收范围
  • 损益明细表计提企业所得税
  • 过账发票和不过票的区别
  • 应付账款不需要付情况说明
  • u8委外怎么核销
  • Win10笔记本如何重装系统
  • centos 安装源设置出错
  • linux tcpping
  • tomcat配置虚拟主机
  • os x yosemite10.10.4beta2更新了哪些内容 os x yosemite性能增强和bug修复以及下载
  • windows累积更新失败怎么办
  • win10的outlook在哪
  • win10预览版和正式版区别
  • cocos2dx入门
  • javascript 表格
  • jqgrid动态增加列
  • 安卓画图板
  • 教你怎样用气球做可爱小兔子气球君带你做气球手工
  • 绩效三级指标体系
  • 下设机构和内设的区别
  • 全国初中应用物理知识竞赛获奖名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设