欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎么得到这样的结果

更新时间: 2014-01-05 03:07:36 责任编辑: Author_N1

 

如何得到这样的结果
有一个表结构和数据如下:
CODE            NAME
--------------- ----------------------------------------
209             城市与环境学院
209100          2007级
209101          2008级
209102          2009级
209103          2010级
209104          2011级
209105          2012级

想得到下面的结果,应该怎么办
CODE            NAME  FullName
--------------- ---------------------------------------- ----------------------------------------------------
209             城市与环境学院  城市与环境学院
209100          2007级  城市与环境学院,2007级
209101          2008级  城市与环境学院,2008级
209102          2009级  城市与环境学院,2009级
209103          2010级  城市与环境学院,2010级
209104          2011级  城市与环境学院,2011级
209105          2012级  城市与环境学院,2012级
------最佳解决方案--------------------
什么数据库?假设MYSQL
SELECT CODE,NAME,NAME WHERE LENGTH(CODE)=3
UNION ALL
SELECT CODE,NAME,concat((SELECT CODE,NAME,NAME WHERE LENGTH(CODE)=3),',',name)

sqlserver

SELECT CODE,NAME,NAME WHERE LENGTH(CODE)=3
UNION ALL
SELECT CODE,NAME,((SELECT CODE,NAME,NAME WHERE LENGTH(CODE)=3)+','+name)
------其他解决方案--------------------

SELECT CODE,NAME,NAME from tt WHERE LENGTH(CODE)=3
UNION ALL
select * from (
SELECT CODE,NAME,((SELECT CODE,NAME,NAME WHERE LENGTH(CODE)=3) 
------其他解决方案--------------------
我的本意是这样的,这个表包含两个字段
Code varchar2(15)
Name varchar2(40)

Code是部门代码,每一级部门是3位长,所以Code最多可以表示5级部门,Code的值是如下形式的:
100
100100
100100100
100100100100
100100100100100
100101
100101100
100101100101
100101100101100

Name是当前这级部门的名称
我现在要要得到的是某个部门的完整的名称,即把他的上级部门名称拼到前面。表内容如下:
Code             Name
100              一
100100           二
100100100        三
100100100100     四
100100100100100  五

我要得到的结果是:
Code             Name  完整名称
100              一     一
100100           二     一二
100100100        三     一二三
100100100100     四     一二三四
100100100100100  五     一二三四五
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:07:36
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/18663/
本文WWW.DOC100.NET DOC100.NET版权所有。