簡體   English   中英

Oracle SQL連接兩個表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM