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

口试中的sql

更新时间: 2014-01-05 02:07:42 责任编辑: Author_N1

 

面试中的SQL
虽然有些时间没有面试过了
在我的印象中,sql中行列转换的问题问得比较多,本人也面试过别人
专门总结一下,在sqlserver2000帮助文档中就有这样的例子
不外乎3中方法:
1.用case语句实现
2.自己用函数实现
3.oracle自己专有函数
网上找了一下,以下文档记录很好,记录一下,转载一下别人的连接

http://www.cnblogs.com/wxjnew/archive/2012/06/18/2553802.html

其中这个SQL有深度:
select sname as 姓名,allstr 详细描述 from
(
  select sname,allstr,
  row_number() over(partition by sname order by sname,curr_level desc) ename_path_rank
  from (
         select sname,sshow,rank,level as curr_level,
         ltrim(sys_connect_by_path(sshow,','),',') allstr from --把所有字符串相加
         (
           select s1.sname,s1.sshow,row_number() over(partition by s1.sname order by s1.sname,s1.sshow) rank
           from stu1 s1 order by s1.sname,s1.sshow--创建树关系,name可以作为parentid,rank可以作为childid
         ) connect by sname = prior sname and rank-1 = prior rank
       )
)
where ename_path_rank=1;
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

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