2013-05-07 134 views
0

我想从一个不同的架构中将两个表连接到一个表中....这是我的查询。我不断收到一个错误,说它缺少右括号。任何人都可以帮我解决这个问题吗?我尝试了所有我能想到的解决方案。我不相信它是缺少一个,但它不会工作。这里是我的查询:Oracle SQL加入两个表

create view customers_g2 as 
select ( 
(schema1.INTX.CUST_ID, 
schema1.INTX.CUST_NAME, 
schema1.INTX.CUST_GENDER, 
schema1.INTX.CUST_STATE, 
schema1.INTX.COUNTRY_ID) 
Join 
select (KWEKU.KM_CUSTOMERS_EXT.CUST_ID, 
schema2.EXT.CUST_AGE, 
schema2.EXT.CUST_EDUCATION, 
schema2.EXT.MARRIED, 
schema2.EXT.NO_OF_CHILDREN, 
schema2.EXT.RACE, 
schema2.EXT.INCOME, 
schema2.EXT.CHECKING_BAL, 
schema2.EXT.SAVINGS_BAL, 
schema2.EXT.ASSETS, 
schema2.EXT.HOUSES) 
from schema1.INTX,schema2.EXT 
where schema1.INTX.CUST_ID = schema2.EXT.CUST_ID); 

回答

4

尝试改变

create view customers_g2 as (
          ^remove this parenthesis 

create view customers_g2 as 

UPDATE:整个事情变得更好,以

CREATE VIEW customers_g2 
AS 
SELECT i.CUST_ID, 
     i.CUST_NAME, 
     i.CUST_GENDER, 
     i.CUST_STATE, 
     i.COUNTRY_ID, 
     e.CUST_AGE, 
     e.CUST_EDUCATION, 
     e.MARRIED, 
     e.NO_OF_CHILDREN, 
     e.RACE, 
     e.INCOME, 
     e.CHECKING_BAL, 
     e.SAVINGS_BAL, 
     e.ASSETS, 
     e.HOUSES 
    FROM schema1.INTX i JOIN 
     schema2.EXT e ON i.CUST_ID = e.CUST_ID 

不适合的唯一的事情是

KWEKU.KM_CUSTOMERS_EXT.CUST_ID 

目前还不清楚为什么你从第三模式需要这个领域

+0

仍表示相同 – user2356667 2013-05-07 02:43:58

+0

@ user2356667查看最新答案 – peterm 2013-05-07 02:56:51

+0

Thanks!我知道了。我无意中把它放在那里 – user2356667 2013-05-07 03:22:40

1

您的SQL是如此奇怪.. 这是你想要的吗?

create view customers_g2 as 
select 
schema1.INTX.CUST_ID, 
schema1.INTX.CUST_NAME, 
schema1.INTX.CUST_GENDER, 
schema1.INTX.CUST_STATE, 
schema1.INTX.COUNTRY_ID, 
schema2.EXT.CUST_ID, 
schema2.EXT.CUST_AGE, 
schema2.EXT.CUST_EDUCATION, 
schema2.EXT.MARRIED, 
schema2.EXT.NO_OF_CHILDREN, 
schema2.EXT.RACE, 
schema2.EXT.INCOME, 
schema2.EXT.CHECKING_BAL, 
schema2.EXT.SAVINGS_BAL, 
schema2.EXT.ASSETS, 
schema2.EXT.HOUSES 
from schema1.INTX,schema2.EXT 
where schema1.INTX.CUST_ID = schema2.EXT.CUST_ID; 
1

的外来括号造成您的问题是靠近第一select之一:

create view customers_g2 as (
select (-- here 
(schema1.INTX.CUST_ID, 

而且,周围的部分括号as后是不是绝对必要的(见here)。

而且你可能需要一个不同类型的连接:

create view customers_g2 as 
    select ...long long list of all your columns... 
    from schema1.INTX inner join schema2.INTX 
    on schema1.INTX.CUST_ID = schema2.EXT.CUST_ID; 

(警告:我知道加入一切来源于here;打电话给我,如果我错了)