0

私は SQL Server 2008 を使用しており、SSIS パッケージ データ フロー タスクでクエリを記述して、別の DB からの結果セットに基づいて 1 つのデータベースからデータを読み取ろうとしています。

複数のテーブル A、B、C、D、E などがあります。これらのテーブルを結合し、フィルターの後にデータを取得する選択を作成しようとしています。次のクエリで「マルチパート識別子をバインドできませんでした」というエラーが表示されます

SELECT
A.1 as A1,

A.2 as A2,

A.3 as A3,

B.1 as B1,

(Select C.1 from C 

        left join cc on c.2 = cc.2

        where C.x = A.x) as C1,

(Select D.1 from D where D.x = A.x) as D1,

E.4 as E4

FROM A

 left join B on B.Y = A.Y

 inner join C on C.Y = A.Y

 inner join D on D.Y = C.X

 left join E on E.Y = D.Z AND E.Z = 'ZZZZ'

WHERE A.P = ?

クエリの一般的な構造は上記のとおりであり、where 句を完全に削除するか、単純な を指定すると、クエリは正常に実行されます"WHERE A.P = 'PPPP'"。これは十分に単純に見えますが、where 句でサブクエリからのデータを使用していません。私は何を間違っていますか?

4

1 に答える 1