首页范文|简历视频|电影机电论坛 上班族健康福建电脑论坛 会计资格考试福建保安论坛 上班百科玄幻小说 大学论文福州买车游戏论坛发布信息
发新话题
打印

sql 问题        林俊杰

sql 问题

要查一个部门表,有部门id(deptid),部门名称(deptname),部门是按级分类地,假设有三级,
第一级编号为0000,只有一个,
第二级为00000001,00000002,00000003,等
第三级为000000000001,000000000002,000000000003等
如何写sql语句输出这样地报表名称

二级单位名称 三级单位名称

要求遵照二级单位group by,每行输出一次二级单位名称,可以重复,然后输出三级单位名称.
问题补充:编号地下一级关系为
上一级0001,0002
下一级00010001,00010002

00020001,00020002

TOP

从你的编号看不出二级与三级单位名称的对应关系,所以帮不了你。如果是这样的:
一级:001
二级:00101,00102
三级:0010101,0010102,0010201
就是下一级编号的前面含上一级的编号,则可以写一个这样的语句:
select a.deptname as 二级单位名称,b.deptname as 三级单位名称 from dept a inner join dept b on substring(b.deptid,1,5)=a.deptid
where len(a.deptid)=5 and len(b.deptid)=7
order by 二级单位名称

还有就是不要太小气了,四级的人问问题也不舍得给点分。呵呵~~

那就把上面的数字改一下就可以了:
select a.deptname as 二级单位名称,b.deptname as 三级单位名称 from dept a inner join dept b on substring(b.deptid,1,4)=a.deptid
where len(a.deptid)=4 and len(b.deptid)=8
order by 二级单位名称
              
  

TOP

发新话题