Я использую 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 A.P = 'PPPP'"
. Он выглядит достаточно простым, и я не использую никаких данных из подзапросов в предложении where. Что я делаю не так?
Являются ли эти два базы данных на том же SQL Server? Где именно вы получаете ошибку? когда вы его просматриваете? Когда вы запустите его? Когда вы определяете параметры? Вы успешно определили параметры для этого запроса? –
В процессе дезинфекции запроса на публикацию вы, скорее всего, случайно удалили проблему с кодированием, потому что нет ничего плохого в этом запросе, если все таблицы и столбцы существуют. –