私は 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 句でサブクエリからのデータを使用していません。私は何を間違っていますか?