create table test as select A.a,A.b,A.c,B.e,B.f from A,B
/--只创建tableC表结构:create table tableC as (select ta.a,ta.b,ta.c,tb.e,tb.f from tableA ta ,tableB tb where 1=0); /--创建tableC表结构及内容:create table tableC as (select ta.a,ta.b,ta.c,tb.e,tb.f from tableA ta ,tableB tb where 1=1 and ta.b=tb.b);
-- 确实很难: CREATE TABLE C AS SELECT A.A, A.B, A.C, B.E, B.F WHERE A.B = B.B AND ROWNUM < 1;
字段a,b,c,e,只是一个简单说明,如果字段很多时,一个一个理出来,是不是很低效。
create table tableC as (select ta.a,ta.b,ta.c,tb.e,tb.f from tableA ta ,tableB tb where ta.b=tb.b);
问题是你怎么理出来而已如果字段名少,直接用手工处理一下就行了如果字段名多,写个程序处理一下如果不要求去重的话倒简单 select a.*, b.* from a, b;
天啊,这个问题太难了,我觉得自杀以谢天下。
ps:给楼主推荐本书: 《Ora 10G SQL Reference.chm》
/--只创建tableC表结构:create table tableC as (select ta.a,ta.b,ta.c,tb.e,tb.f from tableA ta ,tableB tb where 1=0);
/--创建tableC表结构及内容:create table tableC as (select ta.a,ta.b,ta.c,tb.e,tb.f from tableA ta ,tableB tb where 1=1 and ta.b=tb.b);
CREATE TABLE C
AS
SELECT A.A,
A.B,
A.C,
B.E,
B.F
WHERE A.B = B.B
AND ROWNUM < 1;
select a.*, b.* from a, b;