Crear tablas con campos de 2 tablas diferentes

Quiero crear una tabla que almacene valores de dos tablas diferentes;

De la tabla 1: cust_id (varchar2), invoice_amt (float)

De la tabla 2: cust_id (de la tabla 1), date de pago

Mi tabla debe tener 3 campos:

cust_id, invoice_amt, payment_date 

Intenté lo siguiente, lo cual obviamente está mal.

 create table temp1 as ( select table_1.cust_id, table_1.invoice_amt, table_2.payment_date from table_1@dblink, table_2@dblink) 

Sus valiosas sugerencias serán de gran ayuda.

 create table temp1 as ( select table_1.cust_id, table_1.invoice_amt, table_2.payment_date from table_1@dblink, table_2@dblink where table_1.cust_id = table_2.cust_id ) 

No soy un tipo oracle, pero debería hacer lo que quieras (aunque no probado).

Estabas cerca:

 create table temp1 as ( select t1.cust_id, t1.invoice_amt, t2.payment_date from table_1@dblink t1, table_2@dblink t2 where t1.cust_id=t2.cust_id) 

Depende de para qué lo va a usar, pero me sentiría muy tentado de usar una vista en lugar de una tabla:

 create view temp1(cust_id, invoice_amt, payment_date) as select t1.cust_id, t1.invoice_amt, t2.payment_date from table_1@dblink as t1 inner join table_2@dblink as t2 on t1.cust_id = t2.cust_id 

La ventaja es que siempre contiene los valores de las versiones actuales de table_1 y table_2. La desventaja es que no puede editar la vista (o, si puede, sus ediciones afectan tanto a las tablas subyacentes como a la vista).