2017-12-04 18 views
1

サブクエリ結合のマルチパート識別子にエラーが発生しました。助けてください。以下は、私はあなたがサブクエリ内の別名を持っているように見えますSQLエラー - マルチパート識別子 "CF.OBJ"をバインドできませんでした

SELECT CORE.BC_NUMBER AS BC,SEG.BC_NUMBER AS SEGBC,XREF.BC_NUMBER AS XREFBC,CF.OBJ 
-- Table CORE 
From CORE 

-- join seg and core 
LEFT JOIN SEG 
ON CORE.BC_NUMBER= SEG.BC_NUMBER 

-- Join XREF to go from BCNbr to GBC 
LEFT JOIN 
XREF 
ON XREF.BUNL=SEG.BC_NUMBER; 

-- GEN JOIN GBC 
LEFT JOIN 

(SELect JID,P,Obj, JT 
From Gen) AS CF 

ON CF.Obj=XREF.BC_NUMBER 

; 

sqlfiddle.com/#!6/29f643/15

+1

変更 ')として使用する括弧の外のCFの別名を使用してください....' CF ON AS)世代から 'へ。.. ..最後の左の結合に – Lamak

+1

最後の 'LEFT JOIN'でも' SELECT'という単語を綴ることができます。 –

答えて

0

を書かれているコードです。次のことを試してください。

SELECT CORE.BC_NUMBER AS BC,SEG.BC_NUMBER AS SEGBC,XREF.BC_NUMBER AS 

XREFBC,CF.OBJ 
-- Table CORE 
From CORE 

-- join seg and core 
LEFT JOIN SEG 
ON CORE.BC_NUMBER= SEG.BC_NUMBER 

-- Join XREF to go from BCNbr to GBC 
LEFT JOIN XREF 
ON XREF.BUNL=SEG.BC_NUMBER 

-- GEN JOIN GBC 
LEFT JOIN ( 
    SELECT JID,P,Obj, JT 
    From Gen 
    where JT=28 and P=1 
)CF 
ON CF.Obj=XREF.BC_NUMBER 
; 
+0

これを使用して同じエラーが発生しました。 – Renee

+0

http://sqlfiddle.com/#!6/29f643/15 – Renee

+0

2番目の 'LEFT JOIN'で'; 'セミコロンを削除します。それは3番目のLEFT JOINがSQLによって見られるのを止めることです。 –

0

あなたは括弧内のCFの別名を使用し、それ以外での参照を取ってきたように。ここではCFの別名がまだ作成されていない、ON CF AS世代からの参照

SELECT CORE.BC_NUMBER AS BC,SEG.BC_NUMBER AS SEGBC,XREF.BC_NUMBER AS XREFBC,CF.OBJ 
-- Table CORE 
From CORE 

-- join seg and core 
LEFT JOIN SEG 
ON CORE.BC_NUMBER= SEG.BC_NUMBER 

-- Join XREF to go from BCNbr to GBC 
LEFT JOIN 
XREF 
ON XREF.BUNL=SEG.BC_NUMBER; 

-- GEN JOIN GBC 
LEFT JOIN 

(SEL JID,P,Obj, JT 
From Gen 
) AS CF 
ON CF.Obj=XREF.BC_NUMBER 
; 
関連する問題