SQL-запрос для сравнения - PullRequest
       8

SQL-запрос для сравнения

1 голос
/ 15 декабря 2009

Я работаю над базой данных Access, и в ней мне нужно извлечь несколько отчетов. Для одного из них мне нужно сравнить два списка чисел, List1 и List2 (я получаю оба из отдельных запросов) и отобразить только те числа, которые есть в List1, но не в List2.

Может кто-нибудь помочь, пожалуйста? Спасибо.

Ответы [ 4 ]

3 голосов
/ 15 декабря 2009

Другие предоставили несколько хороших ответов на SQL, но вы можете использовать некоторые из встроенных функций Access.

Когда я нахожусь на экране запроса (в Access XP / 2002, но он должен быть таким же для Access 2003), я могу нажать New, а затем есть опция для Find Unmatched Query Wizard. Это проведет вас через ряд диалоговых окон, которые помогут вам настроить запрос, который вы ищете. Прежде чем приступить к работе с этим мастером, вам нужно будет уже указать «List1» и «List2» (из вашего примера).

После того, как вы это настроите, вы сможете увидеть, как Access создал запрос, что является отличным способом изучения.

2 голосов
/ 15 декабря 2009

Вы можете сделать это, используя LEFT OUTER JOIN

SELECT T1.val
FROM table1 T1
LEFT OUTER JOIN table2 T2 ON T1.Val = T2.Val
WHERE T2.VAL IS NULL;
1 голос
/ 15 декабря 2009
SELECT some_value
FROM table1
WHERE some_value not in ( select some_value from table2);
0 голосов
/ 15 декабря 2009
SELECT  *
FROM    (
        SELECT  number
        FROM    …
        ) query1
WHERE   query1.number NOT IN
        (
        SELECT  number
        FROM    …
        ) /* query2 */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...