[英]Oracle SQL Joining two tables
我試圖將來自不同架構的兩個表合並到一個表中。...這是我的查詢。 我不斷收到錯誤消息,說它缺少右括號。 誰能幫我解決這個問題? 我嘗試了所有我能想到的解決方案。 我不相信它會丟失一個,但是不會起作用。 這是我的查詢:
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);
嘗試改變
create view customers_g2 as (
^ remove this parenthesis
至
create view customers_g2 as
更新:最好將整個事情更改為
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
目前尚不清楚為什么您需要第三個架構中的此字段
您的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;
引起問題的多余括號是第一個select
附近的括號:
create view customers_g2 as (
select ( -- here
(schema1.INTX.CUST_ID,
另外,周圍的部分括號后as
不嚴格要求(見這里 )。
您可能需要其他類型的聯接:
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;
(警告:我所知道的關於聯接的一切都來自這里 ;如果我錯了,請叫我出來。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.