Oracle:一条SQL实现将多行数据并为一行显示

2016-02-19 15:44 38 1 收藏

今天图老师小编给大家精心推荐个Oracle:一条SQL实现将多行数据并为一行显示教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

家庭信息表:
ID  学生姓名   成员姓名
1    张三           成员1
2    张三           成员2
3    李四           成员1
4    李四           成员2 现在要显示为:
学生姓名   成员姓名1   成员姓名2
张三           成员1            成员2
李四           成员1            成员2 代码如下: select 档案编号,
        max(decode(my_seq,1,成员姓名)) 成员姓名1,
        max(decode(my_seq,1,与本人关系)) 与本人关系1,       
        max(decode(my_seq,2,成员姓名)) 成员姓名2,
        max(decode(my_seq,2,与本人关系)) 与本人关系2        
  from (
       select 档案编号,
          成员姓名,
          与本人关系,
          row_number() over
           (partition by 档案编号 order by 成员姓名) my_seq
       from v_insch_familyInfo Where 导入编号 = 17
       )
group by 档案编号

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  这只是一种方法,有那位朋友有更好的方法,欢迎多多交流。
http://vicker.cnblogs.com/archive/2006/06/17/428483.html

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1610270.html

延伸阅读
标签: ASP
  antshome(原作)首发:CSDN 一条语句搞定数据库分页 select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 10 = 每页记录数 20 = (当前页 + 1) * 每页记录数 以上语句即可以实现分页,但是最后取出的结果排序是升序,如果需...
select for update 这个是行级锁 当 commit或者rollback时,锁释放 记得打开事务,比如jdbc里面 setAutoCommit(false); 步骤如下: 1 在JDBC中setAutoCommit为false 2 在Oracle中查询,使用for update字句,锁定所有select出来的记录行 3 执行所需操作 4 con.commit()以上事务 完毕。
标签: Web开发
    写JS实现拖动需要一大堆不便维护的代码,实属麻烦,Google了大半天,发现了一个优秀的Jquery插件EasyDrag,只需要一行代码便可轻松在主流浏览器上 实现拖动效果. Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->   $(document).ready( function...
1.所有记录的分页: SELECT TOP 页大小 * FROM Users WHERE (ID NOT IN (SELECT TOP (页大小*(页数-1)) ID FROM Users ORDER BY ID DESC)) //skip(页大小*(页数-1)) 条记录 ORDER BY ID DESC 2.符合条件记录的分页(注意此时你的查询条件要分布在两个查询语句中,谨记) SELECT TOP 页大小 * FROM Users WHERE +你的查询条件 AN...
WPS如何批量实现一列一行加减乘除   对于这个问题我们自然想到了利用,当你利用工式输入A1=A1+8时,你会得到EXCEL的一个警告:WPS表格不能计算该公式只有自己想办法了,这里介绍一种简单的方法: 第一步: 在想要修改的列(假设为A列)的旁边,插入一个临时的新列(为B列),并在B列的第一个单元格(B1)里输入8。 2、把鼠标放...

经验教程

780

收藏

45
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部