2009-10-28 2 views
1

У меня есть следующая «циркулярная зависимость» в моем Inner Join, любые идеи о том, как обойти ее?Как обойти «круговую ссылку» во внутреннем соединении

SELECT *FROM Reference 
INNER JOIN ReferenceInActivity ON Activity.ActivityID = ReferenceInActivity.ActivityID 
INNER JOIN @tbActivity AS Activity ON ReferenceInActivity.ReferenceID = Reference.ReferenceID 

Я получаю ошибку: Msg 4104, уровень 16, состояние 1, строка 387 Мульти-часть идентификатора "Activity.ActivityID" не могут быть связаны.

ответ

5

Вы используете Activity в инструкции "on" перед тем, как включить его в запрос в инструкции "from" или инструкции объединения. Переключите свои «on» заявления примерно так:

SELECT  * 
FROM  Reference 
INNER JOIN ReferenceInActivity 
ON   ReferenceInActivity.ReferenceID = Reference.ReferenceID 
INNER JOIN @tbActivity AS Activity 
ON   Activity.ActivityID = ReferenceInActivity.ActivityID 
+0

Отлично! Спасибо! – Gribbler

Смежные вопросы