Запрос Access 2010 все еще показывает результаты, когда запись пуста - PullRequest
1 голос
/ 15 февраля 2012

Я пытаюсь сделать запрос, объединяющий 4 таблицы. Одна таблица будет заполнять только некоторые записи, а не все. Как мне получить критерии:

Если запись null по-прежнему показывает поле ..... потому что сейчас, если запись null в любом из полей, она не будет отображаться в результатах моего запроса.

Ответы [ 3 ]

2 голосов
/ 15 февраля 2012

Если записи отсутствуют в одной таблице, то вы должны использовать внешнее соединение.Скажем, у вас есть таблица A с 5 записями и таблица B только с 3 записями, и вы хотите сделать запрос, соединяющий две таблицы с 5 записями

SELECT * FROM
    A
    LEFT JOIN B
        ON A.ID = B.FK

В конструкторе запросов щелкните правой кнопкой мыши наприсоединяйся и введи это:

enter image description here

0 голосов
/ 15 февраля 2012

Похоже, вам нужно использовать левое (или "внешнее") соединение вместо внутреннего соединения.

Внешние объединения (например, ЛЕВЫЕ СОЕДИНЕНИЯ) будут возвращать все результаты, независимо от того, есть ли соответствующие записи в другой таблице или нет. У вас просто будут нулевые значения столбцов в результатах для объединенных таблиц.

Подробнее здесь: http://pcmcourseware.com/blog/2010/11/10/modifying-query-joins-in-microsoft-access/

0 голосов
/ 15 февраля 2012

Похоже, вы хотите, чтобы условия фильтра игнорировали значения NULL.(То есть по умолчанию NULL не будет соответствовать вашему фильтру, но желаемым выводом является то, что он должен.)

Если это правильно, вы хотите изменить фильтры, чтобы разрешить NULL, например, добавивOR IS NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...