2009-07-22 77 views
0

我想创建一个表格来存储来自两个不同表格的值;使用来自2个不同表格的字段创建表格

从表1:的cust_id(VARCHAR2),invoice_amt(浮点)

从表2:的cust_id(来自表1),PAYMENT_DATE

我的表应该有3个字段:

cust_id, invoice_amt, payment_date 

我尝试了以下,这显然是错误的。

create table temp1 as (
    select table_1.cust_id, table_1.invoice_amt, table_2.payment_date 
     from [email protected], [email protected]) 

您的宝贵建议将会非常有帮助。

+0

您好专家,感谢您的投入。我已经创建了表,但是我的问题是,我的表拥有超过700万条记录,并试图通过dblink访问记录。无论如何,我可以加快查询?我是一个完整的新手,所以一些详细的帮助会很好。 非常感谢:) – novice 2009-07-22 10:28:21

回答

4
create table temp1 as (
    select 
     table_1.cust_id, 
     table_1.invoice_amt, 
     table_2.payment_date 
    from 
     [email protected], 
     [email protected] 
    where 
     table_1.cust_id = table_2.cust_id 
    ) 

我不是甲骨文的人,但那应该做你想做的事(未经测试,虽然)。

1

这取决于你要使用它的话,但我会非常想使用视图,而不是表:

create view temp1(cust_id, invoice_amt, payment_date) as 
    select t1.cust_id, t1.invoice_amt, t2.payment_date 
     from [email protected] as t1 inner join [email protected] as t2 
      on t1.cust_id = t2.cust_id 

其优点是它始终包含来自当前版本的table_1和table_2的值。缺点是你不能编辑视图(或者,如果可以的话,你的编辑会影响底层表和视图)。

+0

缺点是您必须通过数据库链接为该视图的每个查询提取数据。 – jva 2009-07-22 06:35:09

相关问题