oracle多列合并成一列
@邹许3197:oracle怎么把多个列(字段)合并成一列.把下面的日期合并在一起 -
宣知18615458936…… 是不是要把三个date放一列,三个ru放一列,一共组合成两列: select date_a, ru_a from table union all select date_b, ru_b from table union all select date_c, ru_c from table
@邹许3197:在Oracle中,如何将多行数据合并成一行数据,如下: -
宣知18615458936…… 如果这两行有个共同的其他列作为分组,标志他们是同一组、比如姓名编号之类的,是可以group by后min出来的. select 姓名,min(引流管) as 引流管,min(化疗) as 化疗, min(放疗) as 放疗 from 记录表 group by 姓名 ;
@邹许3197:oracle sql union all 合并多列 -
宣知18615458936…… select name as 姓名 ,id as 编号 from A union all select staff_name as 姓名 ,staff_id as 编号 from B
@邹许3197:oracle 怎么将同一行2列显示在一起 -
宣知18615458936…… 要将几列合并到一列显示,有几个问题需要考虑1) 不同数据类型之间是否能够互相转换,比如 number 类型可以转换为varchar2,但是varchar2不一定能转成number类型,因为如果有非数字的字符,肯定会出错2) long, clob, blob等 大文本/二进制类型的列肯定不能合并,只能通过自己写sql 调用数据库自带的存储过程或者包来实现就你的例子而言一楼的实现可行.
@邹许3197:oracle 怎么实现: A列 B列 a1 b1 a2 b2 a3 b3 合并成一段: a1+b1+a2+b2+a3+b3
宣知18615458936…… declare v_str varchar2(2000):=''; --如果记录数很多这种方法不适用 cursor cc is select A列,B列 from 表 order by A列; v cc%rowtype; begin open cc; loop fetch cc into v; exit when cc%NOTFOUND; v_str:=v_str||v.A列||v.B列; end loop; close cc; dbms_output.out_line(v_str); end;
@邹许3197:oracle 怎么实现:A列 B列 a1 b1 a2 b2 a3 b3 合并成一段:a1+b1+a2+b2+a3+b3oracle 怎么实现:A列 B列a1 b1a2 b2a3 b3合并成一段:a1+b1+a2+b2+a3+... - 作业帮
宣知18615458936…… [答案] declarev_str varchar2(2000):=''; --如果记录数很多这种方法不适用cursor cc is select A列,B列 from 表 order by A列;v cc%rowtype;beginopen cc;loopfetch cc into v;exit when cc%NOTFOUND;v_str:=v_str||v.A列|...
@邹许3197:oracle 多行多列变成一列多行 -
宣知18615458936…… SELECT NAME||','||STREET||','||SUBURB||',shh'||POST FROM TEMP_TABLE T;
@邹许3197:oracle数据多行不同列进行合并显示,该怎么处理 -
宣知18615458936…… select id ,listagg( name, ',' ) within group ( order by id ) as name from TABLE_NAME GROUP BY id;
@邹许3197:Oracle中多行合并为一列,具体内容请看问题补充,谢谢 -
宣知18615458936…… select name,case when course='语文' then course end course1,case when course='语文' then score end score1,case when course='数学' then course end course2,case when course='数学' then score end score2,case when course='英语' then course end course3,case when course='英语' then score end score3 from mytable group by name
@邹许3197:oracle 如何实现一行多列转换成一列多行 -
宣知18615458936…… 使用union合并查询结果,前提是他们是类似的数据类型.详细语法参考http://www.w3school.com.cn/sql/sql_union.asp
宣知18615458936…… 是不是要把三个date放一列,三个ru放一列,一共组合成两列: select date_a, ru_a from table union all select date_b, ru_b from table union all select date_c, ru_c from table
@邹许3197:在Oracle中,如何将多行数据合并成一行数据,如下: -
宣知18615458936…… 如果这两行有个共同的其他列作为分组,标志他们是同一组、比如姓名编号之类的,是可以group by后min出来的. select 姓名,min(引流管) as 引流管,min(化疗) as 化疗, min(放疗) as 放疗 from 记录表 group by 姓名 ;
@邹许3197:oracle sql union all 合并多列 -
宣知18615458936…… select name as 姓名 ,id as 编号 from A union all select staff_name as 姓名 ,staff_id as 编号 from B
@邹许3197:oracle 怎么将同一行2列显示在一起 -
宣知18615458936…… 要将几列合并到一列显示,有几个问题需要考虑1) 不同数据类型之间是否能够互相转换,比如 number 类型可以转换为varchar2,但是varchar2不一定能转成number类型,因为如果有非数字的字符,肯定会出错2) long, clob, blob等 大文本/二进制类型的列肯定不能合并,只能通过自己写sql 调用数据库自带的存储过程或者包来实现就你的例子而言一楼的实现可行.
@邹许3197:oracle 怎么实现: A列 B列 a1 b1 a2 b2 a3 b3 合并成一段: a1+b1+a2+b2+a3+b3
宣知18615458936…… declare v_str varchar2(2000):=''; --如果记录数很多这种方法不适用 cursor cc is select A列,B列 from 表 order by A列; v cc%rowtype; begin open cc; loop fetch cc into v; exit when cc%NOTFOUND; v_str:=v_str||v.A列||v.B列; end loop; close cc; dbms_output.out_line(v_str); end;
@邹许3197:oracle 怎么实现:A列 B列 a1 b1 a2 b2 a3 b3 合并成一段:a1+b1+a2+b2+a3+b3oracle 怎么实现:A列 B列a1 b1a2 b2a3 b3合并成一段:a1+b1+a2+b2+a3+... - 作业帮
宣知18615458936…… [答案] declarev_str varchar2(2000):=''; --如果记录数很多这种方法不适用cursor cc is select A列,B列 from 表 order by A列;v cc%rowtype;beginopen cc;loopfetch cc into v;exit when cc%NOTFOUND;v_str:=v_str||v.A列|...
@邹许3197:oracle 多行多列变成一列多行 -
宣知18615458936…… SELECT NAME||','||STREET||','||SUBURB||',shh'||POST FROM TEMP_TABLE T;
@邹许3197:oracle数据多行不同列进行合并显示,该怎么处理 -
宣知18615458936…… select id ,listagg( name, ',' ) within group ( order by id ) as name from TABLE_NAME GROUP BY id;
@邹许3197:Oracle中多行合并为一列,具体内容请看问题补充,谢谢 -
宣知18615458936…… select name,case when course='语文' then course end course1,case when course='语文' then score end score1,case when course='数学' then course end course2,case when course='数学' then score end score2,case when course='英语' then course end course3,case when course='英语' then score end score3 from mytable group by name
@邹许3197:oracle 如何实现一行多列转换成一列多行 -
宣知18615458936…… 使用union合并查询结果,前提是他们是类似的数据类型.详细语法参考http://www.w3school.com.cn/sql/sql_union.asp