我正在使用SQL Server 2008並試圖在SSIS包數據流任務中編寫查詢以根據結果集從一個數據庫中讀取數據從另一個數據庫。加入前過濾以避免「多部分標識符無法綁定」錯誤
我有多個表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子句中的子查詢中的任何數據。我究竟做錯了什麼?
是兩個數據庫在同一個SQL Server上?你在哪裏得到錯誤?當你預覽它?當你運行它?當你定義參數?你有沒有爲這個查詢成功定義參數? –
在清理髮布查詢過程中,您最有可能意外刪除了編碼問題,因爲該查詢沒有任何問題,假設所有表和列都存在。 –