递归sql查询完整科目名称

这篇具有很好参考价值的文章主要介绍了递归sql查询完整科目名称。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

已知表

科目编号 科目名称
1001 1001 现金
1002 1002 银行存款
10020100 0100 工商银行存款
100201000001 0001 工行重庆路支行
10020200 0200 建设银行存款
100202000001 0001 建行铁北支行

需要整理成

科目编号 科目称 科目全称

1001 现金 现金

1002 银行存款 银行存款

10020100 工商银行存款 银行存款-工商银行存款

100201000001 工行重庆路支行 银行存款-工商银行存款-工行重庆路支行

10020200 建设银行存款 银行存款-建设银行存款

100202000001 建行铁北支行 银行存款-建设银行存款-建行铁北支行

10020300 锦州银行存款 银行存款-锦州银行存款

100203000001 锦州银行石化支行 银行存款-锦州银行存款-锦州银行石化支行

100203000002 锦州银行铁北支行 银行存款-锦州银行存款-锦州银行铁北支行

100203000003 锦州银行石化广场支行 银行存款-锦州银行存款-锦州银行石化广场支行

10020400 昆仑银行 银行存款-昆仑

create temp table cc as

select substr(科目编号,1,(length(科目编号)-4)) 父,科目编号 子,科目名称 名称,科目编号 编号 from 转换成父子结构求科目全称;

select rowid,* from cc;

create temp table aa as

with recursive under_alice( root,父,子,完整路径,level,名称,编号完整路径,名称完整路径) as (select 子 root,’’ 父,子,子 完整路径,0 level,名称,编号 编号完整路径,名称 名称完整路径 from cc where 父 is null or 父 like ‘’ union all select under_alice.root,x.父,x.子,under_alice.完整路径||’-’||x.子,under_alice.level+1,x.名称,under_alice.编号完整路径||’-’||x.编号 编号完整路径,under_alice.名称完整路径||’-’||x.名称 名称完整路径 from cc x join under_alice on x.父=under_alice.子 order by 2)

select 子 科目编号,名称 科目称,名称完整路径 科目全称 from under_alice order by cast(子 as text);

select rowid,* from aa;

递归sql查询完整科目名称

递归sql查询完整科目名称文章来源地址https://www.toymoban.com/news/detail-478267.html

到了这里,关于递归sql查询完整科目名称的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【第33天】SQL进阶-SQL高级技巧-CTE和递归查询(SQL 小虚竹)

    回城传送–》《100天精通MYSQL从入门到就业》 今天是学习 SQL 打卡的第 33 天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 )。 希望大家先自己思考,如果实在没有想法,再看下面

    2023年04月08日
    浏览(40)
  • sql递归查询处理树状结构数据,适用于sqlserver和oracle

    在工作中用到根据某个组织的ID,查询当前所有的上级,并按层级返回 递归语法: 以with开头,再以2个查询用 union all连接,且2个查询列表字段和类型返回必须一致 向上查询数据,oo是最终返回的表,也可以写为with oo as .... 但是不能写为 with oo(FID,fname_l2 ,FPARENTID)  去掉某一

    2024年01月23日
    浏览(45)
  • SQL使用技巧(3.2)递归层次查询Hive、Orcale和TDH

    场景一:员工信息表,根据某一员工编号查找其上级及上级的上级,直至最高权力者;或者下级及下级的下级,直至其管理下的最基层员工。 场景二:机构树,查询某一机构所对应的上级机构,直至最高机构;或者下级机构直至最末级机构 场景三:号码更换(银行卡换号不

    2024年02月08日
    浏览(26)
  • 【.net core】yisha框架 SQL SERVER数据库 反向递归查询部门(子查父)

     业务service.cs中ListFilter方法中内容 DepartmentService.cs中内容 mysql数据库中参考mysql 递归语法修改sql

    2024年02月07日
    浏览(33)
  • MySQL—一条查询SQL语句的完整执行流程

    表结构和数据如下: 我们分析的sql语句如下: 大体来说,MySQL可以分为Server层和存储引擎层两部分: Server层 包括:连接器、查询缓存、分析器、优化器、执行器等 涵盖MySQL的大多数核心服务功能 所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在

    2024年04月28日
    浏览(47)
  • SQL 生成连续的编号

    给大家一分钟,请思考:在你熟悉的数据库里使用 SQL 快速生成 001~999 的编号有哪些方法。 以下是我想到的在 MySQL 中可以实现的方法。 我把这个实现过程分成两部分: 生成 1~999 的序号; 对不足三位数的序号在前面补‘0’。 MySQL 提供了  LPAD()  左填充函数,因此第二

    2024年02月12日
    浏览(33)
  • SQL标识列实现自动编号的步骤和技巧以及优势

    目录 前言: 过程: 1.步骤: 2.标识种子和表示增量: 效果展示:​ 优势: 总结: 在.NET中的例子里面遇到这么一个问题,不能将NULL插入列‘ID’,表Login.dbo.Scores’;列不允许有NULL值。INSERT失败。这个问题很明显,我在SQL数据库中设置了字段不能为NULL,但是我不想手动允许为NULL,那么

    2024年02月07日
    浏览(28)
  • H3C交换机运维之-通过已知终端MAC地址查询接入交换机接口

    注意: 此步骤只适用于终端和接入交换机互通不知道是哪个口的情况(请先确保终端与接入交换机线路正常) 需要满足条件 1.知道管理vlan(这里模拟为vlan900) 2.知道新入网终端MAC地址后4位(这里模拟为1C3G) 3.有登入交换机设备的管理账户权限 第一步 登入核心交换机通过已知

    2024年02月01日
    浏览(29)
  • QuartusII13.0 bdf文件中元器件名称显示不完整解决方法

    Quartus打开bdf文件,元器件名称显示只有一部分,每次都要点开元器件逻辑图才能看到器件型号和完整的引脚名称,真的很不爽耶。今天尝试了半天,终于找到解决办法。原来这么简单! 关闭quartus,右键单击Quartus桌面图标,选择: 属性 -- 兼容性-- 更改高DPI设置 勾选✔ 替代

    2024年02月11日
    浏览(28)
  • C# 根据前台传入实体名称,动态查询数据

    项目中时不时遇到查字典表等数据,只需要返回数据,不需要写其他业务,每个字典表可能都需要写一个接口给前端调用,比较麻烦,所以采用下面这种方式,前端只需传入实体名称即可,例如:SysUser 如果需要加载多个类库(以下是其中一种方式) 1、先获取DBContext里面的对象

    2023年04月13日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包