Как я правильно использую “Не Равный” по Доступу MS?

Цель:

Намерение этого запроса состоит в том, чтобы выбрать все отличные значения в одном столбце, который не существует в подобном столбце в другой таблице.

Текущий запрос:

SELECT DISTINCT Table1.Column1
FROM Table2, Table1
WHERE Table1.Column1 <> Table2.Column1 

Результаты запроса:

То, что происходит, когда я пытаюсь работать, этот запрос является индикатором выполнения, заполняется почти сразу, но тогда он в значительной степени замораживает и не делает ничего больше насколько я вижу. Когда я использую = знак вместо <>, он производит значения, которые равны очень хорошо и если я заменяю Table2. Column1 с фактическим фактическим значением это работает просто великолепно.

Я просто выполнил его снова при вводе этого вопроса, и вышеупомянутый запрос дал мне ответ на этот раз, но это имеет все ОТЛИЧНЫЕ значения для столбца не все значения, уникальные для просто, что таблица как он должна.

Какие-либо идеи о том, что я делаю неправильно или пропускаю здесь?

10
задан Bryan 5 February 2010 в 22:06
поделиться

2 ответа

Подобно этому

SELECT DISTINCT Table1.Column1
FROM Table1
WHERE NOT EXISTS( SELECT * FROM Table2
    WHERE Table1.Column1 = Table2.Column1  )

Вы хотите НЕ ВЫХОДИТЬ, а не "Не Равно"


Кстати, вы редко захотите писать ОТ FROM пункта, подобного этому:

FROM Table1, Table2

так как это означает "ОТ всех комбинаций каждой строки в Таблице 1 с каждой строкой в Таблице 2...". Обычно это намного больше строк результата, чем вы когда-либо захотите увидеть. И в редких случаях, когда Вы действительно хотите это сделать, более приемлемый синтаксис:

FROM Table1 CROSS JOIN Table2
17
ответ дан 3 December 2019 в 20:04
поделиться

В Access вы, вероятно, обнаружите, что соединение выполняется быстрее, если только ваши таблицы очень малы:

SELECT DISTINCT Table1.Column1
FROM Table1 
LEFT JOIN Table2
ON Table1.Column1 = Table2.Column1  
WHERE Table2.Column1 Is Null

Это исключит из списка все записи, совпадающие с таблицей Table2.

2
ответ дан 3 December 2019 в 20:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: