2013-05-07 136 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;打電話給我,如果我錯了)