/**解决方法的核心是:产生出1-10的一个列,作为“辅助列”**/ select level l from dual connect by levellt;=10; 【问题】
/**创建测试的表t1 也就是楼主说的a表**/
create table t1(
id varchar2(10),
pid varchar2(10)
);
/**创建测试的表t2 也就是楼主说的b表**/
create table t2(
pid varchar2(10),
pnumber varchar2(10)
);
/**插入t1的数据,插入t2的测试数据**/
insert into t1 values('a1','1');
insert into t1 values('a2','2');
insert into t1 values('a3','3');
insert into t2 values('1','2');
insert into t2 values('2','3');
insert into t2 values('3','5');
/**解决方法的核心是:产生出1-10的一个列,作为“辅助列”**/
select level l from dual connect by level
/**最终的sql**/
select t1.id, 'a1-'||t3.dz as list
from t1, t2, (select level dz from dual connect by level
where t1.pid = t2.pid
and t3.dz
order by 1,2;
,