重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
oracle数据多行不同列进行合并显示
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、虚拟主机、营销软件、网站建设、汾阳网站维护、网站推广。
select id ,listagg( name, ',' ) within group ( order by id ) as name from TABLE_NAME GROUP BY id;
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;
单纯的select a||b肯定是错的,你得有个相同的字段才能进行合并啊
所以你得把两个表做个子查询加上一个行号,然后用两个行号做关联才行
可以,有2中实现方案。
1。select * from (select 字段 from BiaoA A) ,(select count(*) from BiaoA B)
这个写法有一个缺点,就是 第二列的内容都一样,也有很多行。
1。select * from (select rownum Ar,字段 from Biao A) ,(select rownum Br, count1 from ( select count(*) count1 from Biao B)) where A.Ar=B.Br(+)
构建一个行号字段,用这个字段进行关联。并且保留前面表格的所有行。
看你的d表是想要什么样的数据。
可以用关联,inner join 内关联,left join 左关联,right join右关联
select * from a inner join b on a.id=b.id inner join c on b.id=c.id