2013-07-17 4 views
0

У меня возникли проблемы с извлечением данных из таблицы в запросе и возвратом всех результатов, если у меня есть пустое поле в «Бренде».Query не возвращает пустые поля бренда

У меня есть два запроса: это первое, оно по сути поставляет одни и те же данные, но возвращает только идентификационные номера бренда и лидера, а не разрешенные имена из связанных таблиц.

SELECT Review.ID, Review.Claim, [TSO Leader].LeaderID, Review.Consultant, Review.TSO, Review.[Claim Review Date], Review.Brand, Review.[Discussion Point], Review.[Review Notes], Review.[Review Decision], Review.Categories, Review.[Product Type] 
FROM [TSO Leader] INNER JOIN Review ON [TSO Leader].LeaderID = Review.[TSO Leader] 
ORDER BY [TSO Leader].LeaderID; 

Этот запрос вытягивает решен «TSO Лидер» и «бренд», но если бренд является пустым, то это обыкновение возвращать результат. Как я могу отредактировать его, чтобы показывать поля бренда, даже если они являются нулевыми.

Это второй запрос, который не тянет пустые поля от Бренда.

SELECT Review.ID, Review.Claim, Review.Consultant, Review.TSO, Review.[Claim Review Date], Review.[Discussion Point], Review.[Review Notes], Review.[Review Decision], Brand.Brand, Categories.Reason, [TSO Leader].LeaderName 
FROM [TSO Leader] INNER JOIN (Categories INNER JOIN (Brand INNER JOIN Review ON Brand.BrandID=Review.Brand) ON Categories.CategoriesID=Review.Categories) ON [TSO Leader].LeaderID=Review.[TSO Leader]; 

EDIT: От комментариев Митча ниже попытки расширить набор результатов с помощью внешнего соединения, но я получаю ошибку синтаксиса. Это обновлено.

FROM [TSO Leader] INNER JOIN (Categories INNER JOIN (Brand FULL OUTER JOIN Review ON Brand.BrandID=Review.Brand) ON Categories.CategoriesID=Review.Categories) ON [TSO Leader].LeaderID=Review.[TSO Leader]; 
+0

Inner присоединиться будет делать - см http://www.codinghorror.com/blog/2007/10/a-visual-explanation- of-sql-joins.html – Mitch

+0

@Mitch Таким образом, внешнее соединение, похоже, будет решением – sayth

+0

, было бы, да. Однако я не хотел добавлять ответ только с помощью ссылки. – Mitch

ответ

0

Я смог получить записи с правом присоединения. Access продолжал жаловаться на то, что помещение внешнего соединения, где у меня есть правильный, было синтаксической ошибкой. Оказывается, доступ должен использовать Внешние соединения, как я прочитал из докторов здесь http://office.microsoft.com/en-us/access-help/creating-an-outer-join-query-in-access-HA001034555.aspx

SELECT Review.ID, Review.Claim, Review.Consultant, Review.TSO, Review.[Claim Review Date], Review.[Discussion Point], Review.[Review Notes], Review.[Review Decision], Brand.Brand, Categories.Reason, [TSO Leader].LeaderName 
FROM [TSO Leader] INNER JOIN (Categories INNER JOIN (Brand RIGHT JOIN Review ON Brand.BrandID=Review.Brand) ON Categories.CategoriesID=Review.Categories) ON [TSO Leader].LeaderID=Review.[TSO Leader]; 
Смежные вопросы