Я не совсем разбираюсь в диалекте Access SQL, но вам нужен LEFT JOIN
, а не INNER JOIN
.LEFT JOIN
подобен INNER JOIN
в том, что он даст вам все строки с левой стороны объединения (в данном случае таблицы Person), соединенные с соответствующими строками с правой стороны объединения,Но LEFT JOIN
также даст вам строки с левой стороны, которые не имеют совпадающие строки с правой стороны.Для этого подмножества строк правые столбцы будут иметь значения NULL.
Таким образом, вы сможете написать:
SELECT Person.PersonID AS Expr1, [Tobacco Query].PersonID
FROM Person LEFT JOIN [Tobacco Query] ON [Tobacco Query].PersonID = Person.PersonID
WHERE [Tobacco Query].PersonID IS NULL;
Это исключит все записи, кроме тех, для которыхвы не можете найти подходящую запись в [Tobacco Query], которая должна быть именно той, которую вы ищете.
Редактировать: сначала была таблица Person справа ... с ЛЕВОЙ ПОДКЛЮЧЕНИЕЙ к нейдолжно быть слева, так как это таблица, из которой вы хотите получить данные.