oracle多行一列值合并 如何将oracle中一条数据拆分成多条?
如何将oracle中一条数据拆分成多条?例如表名为test,数据如下原数据为col1 col2 col3 col4A 1 2 3B 1 2 3然后用如下语句select * from(select c
如何将oracle中一条数据拆分成多条?
例如表名为test,数据如下
原数据为
col1 col2 col3 col4
A 1 2 3
B 1 2 3
然后用如下语句
select * from
(select col1,col2 from test
union all
select col1,col3 from test
union all
select col1,col4 from test) as t
order by col1
得到的数据就是
A 1
A 2
A 3
B 1
B 2
B 3
oracle两行数据合并为一行数据?
合并可以做到,不过如果不是单一的一条记录,那不就变成笛卡尔积了?比如有两行不同姓名的行,再有两行不同姓名1的行。那么你得到的结果就是4行(也就是笛卡尔积),而且内容全不完全都不同,这个结果应该不是你要的吧。比如前面的两行内容为a a a;b b b(一个字母表示一个字段,这是两行内容)后面两行的内容为c c c;d d d(一个字母表示一个字段,这是两行内容)那么你得到的结果就是 a a a c c c;a a a d d d;b b b c c c;b b b d d d这个四行的结果是你要的么?