Я столкнулся с проблемой соединения в базе данных sql server 2005. Я следующую структуру: таблицыSQL Server: как сделать запрос с левым внешним соединением + зависимым внутренним соединением?
TableA --LEFT JOIN--> TableB --INNER JOIN-->TableC
Так что, если я пишу запрос, как это:
SELECT TableA.* FROM TableA
LEFT OUTER JOIN TableB ON TableA.keyOfB = TableB.key
INNER JOIN TableC ON TableB.keyOfC = TableC.key
where TableA.key = aValue
он прочитал 0 запись, если есть не какой-либо TableB
запись, связанная с TableA
записи. Но TableB
находится во внешнем соединении, так что это не то, что я ожидал. Другими словами, INNER JOIN не должен был считаться, потому что нет ни одной записи TableB
! Что мне не хватает?
Можете ли вы изменить код Пьер Луиджи с вашим предложением, потому что я не уверен, что вы имеете в виду здесь? – David 2010-12-06 11:34:19