2017-10-25 13 views
-1

のJOIN + LEFT JOINを次のエラー:SQLエラーは、私は、データが4つのテーブルにあるクエリを作成しようとしています

SQLState: 42000 Error Code: 4104 Message: 
[Microsoft] [ODBC Driver 13 for SQL Server] [SQL Server] 
The multipart identifier "TAFGRPROD.CDGRPR" can not be associated. 
+0

メインスタックオーバーフローサイトは英語のみです。[pt.so] – jmoerdyk

+0

ようこそ。このサイトは英語ベースのものですので、あなたの問題を英語で説明するために質問を編集してください。さもなければ私達はあなたを助けることができません –

+0

あなたの照会は3つのテーブルしか参照しません - それであなたはそれに参加したり、何らかの方法で副照会を使わずに4番目の列を含むことはできません。この4番目のテーブルの列を選択リストに含めようとするので、このテーブルに参加する必要があるようです。どのように行うかは、スキーマ内の関係によって異なります。 – SMor

答えて

1

あなたはTAFGRPRODテーブル

との関係を持っていません
SELECT 
    TAFCBHISTPED.NUPED, 
    TAFCBHISTPED.DTEMIS, 
    TAFGRPROD.CDGRPR, 
    TAFGRPROD.DSGRPR, 
    TAFPROD.CDPROD, 
    TAFPROD.CDGRPR, 
    TAFITHISTPED.NUPED, 
    TAFITHISTPED.CDPROD, 
    TAFITHISTPED.QTPED 
FROM TAFCBHISTPED 
INNER JOIN dbo.TAFITHISTPED ON 
TAFCBHISTPED.NUPED = TAFITHISTPED.NUPED 

--CHECK THE REFERENCE FIELDS 
LEFT JOIN dbo.TAFGRPROD ON 
    TAFCBHISTPED.CDGRPR = TAFGRPROD.CDGRPR 

LEFT JOIN dbo.TAFPROD ON 
TAFGRPROD.CDGRPR = TAFPROD.CDGRPR 
0

テーブルを結合するには、適切な関係が必要です。次の図は、SQLで使用できる結合を示しています。
enter image description here

表2と表3には関係がないため、結合は失敗します。このリンクのSQL結合に役立つチュートリアル。 http://www.sql-join.com/sql-join-types/

関連する問題