oracle 怎么用sql语句把一个表中相应字段的数据复制到另一表中的相应字段?

我现在想把两个表中的某两个相应的字段的数据合并到另一个表的相应字段中。例如,表A有字段a1,b1,c1,表B有字段a2,b2,c2,表C有字段a1,b1,a2,b2,并且A表中的a1,b1分别对应B表中的a2,b2,但数值不同,例如a1=1对应a2=3等等。现在想把A表中的字段a1,b1和B表中a2,b2复制到表C的相应字段,并且对应关系要弄好。请大家帮帮忙!
是为了建立一个中间表维持两表之间的多对多的复杂关系。
其实主要的是这个对应关系怎么写?

第1个回答  2009-12-24
你意思是要建立一个中间表维持两表之间的多对多的复杂该系是吧?

你试试这个语句:
insert into C(a1,b1,a2,b2,) select ... from ....写上你所要关联的数据。一般的需求不会是笛卡尔集是吧。也就是说不可能每个数据都对应完所有数据。
第2个回答  2009-12-29
补充:你的a1跟a2对应,这个对应关系还是没讲清楚,是你图中的a2=a1*11么?
如果是的话就是
insert into c select a1,b1,a2,b2 from A,B where a2=a1*11;
要是没有一个确切的对应关系,只是行与行对应的话就只能用游标来做了。

insert into c select a1,b1,a2,b2 from A,B where 你的对应关系;
你的对应关系没写清楚本回答被提问者和网友采纳
第3个回答  2009-12-24
insert into C(a1,b1) as select a1,b1 from A;
insert into C(a2,b2) as select a2,b2 from B;
相似回答