create table tbl_temp_A as select rownum as num, t.a as col_A from A t;create table tbl_temp_B as select rownum as num, t.b as col_B from B t;create table tbl_C ( a data_type -- A表的a字段 b data_type -- B表的b字段 ) insert into tbl_C ( a, b ) select t1.col_A, t2.col_B from tbl_temp_A t1 full join tbl_temp_B t2 on t1.num = t2.num;drop table tbl_temp_A; drop table tbl_temp_B;
你要的结果是要A表和B表做笛卡尔积? 将A和B表笛卡尔积插入C表? 如果是这样的话很简单 inser into c select * from A,B
就是一个cross join即可. insert into c(a , b) select a.a , b.b from a cross join b
create table tbl_temp_A as select rownum as num, t.a as col_A from A t;create table tbl_temp_B as select rownum as num, t.b as col_B from B t;create table tbl_C
(
a data_type -- A表的a字段
b data_type -- B表的b字段
)
insert into tbl_C
(
a,
b
)
select t1.col_A,
t2.col_B
from tbl_temp_A t1
full join tbl_temp_B t2
on t1.num = t2.num;drop table tbl_temp_A;
drop table tbl_temp_B;
将A和B表笛卡尔积插入C表?
如果是这样的话很简单
inser into c
select * from A,B
insert into c(a , b) select a.a , b.b from a cross join b
那就只有让两个表产生笛卡尔积了。
但从你跟帖的表述来看,你想得到的表C是A表的第一行与表B的第一行连接
也就是说按照两个表的行的插入顺序来合并。
你这两个表的记录数相同吗?不相同的话怎么处理?
要得到表C是很简单的,关键是你通过一个什么逻辑来构造个表C,这里你要说清楚。