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

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

家庭信息表:

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://vicker.cnblogs.com/archive/2006/06/17/428483.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航