Доступ к запросам? - PullRequest
0 голосов
/ 30 апреля 2009

У меня есть две таблицы в MS-Access, U и R. Я соединил их вместе и хочу сравнить два поля. Однако из-за того, что для сравнения есть X-теги, я получаю X-строки. Как вы можете видеть на ID 4 и 2, в каждой таблице есть два тега, и они оба одинаковы, однако из-за моего запроса я получаю четыре строки назад, поскольку он сравнивает все комбинации. У меня есть уникальные значения, установленные на да. Как я могу заставить эту работу получить только две строки для приведенных ниже примеров.

ID  U Tag1   R Tag2  Comp
1   100XX7   100XX7  SAME
2   11646L   11644   DIFFERENT
2   11646L   1X05X   DIFFERENT
2   15650    11644   DIFFERENT
2   15650    1X05X   DIFFERENT
3   5981X    598X0   DIFFERENT
4   19103    19103   SAME
4   19103    19X95   DIFFERENT
4   19X95    19103   DIFFERENT
4   19X95    19X95   SAME

Ответы [ 2 ]

1 голос
/ 30 апреля 2009

Вы ищете что-то вроде:

SELECT u.ID, u.Tag, r.ID, r.Tag
FROM u INNER JOIN r ON (u.ID = r.ID) AND (u.Tag = r.Tag)

UNION ALL

SELECT u.ID, u.Tag, r.ID, r.Tag
FROM u LEFT JOIN r ON (u.ID = r.ID) AND (u.Tag = r.Tag)
WHERE r.Tag Is Null

Первая часть показывает совпадающие теги, вторая часть (после Union All) показывает теги в вас, которые не были найдены в r.

0 голосов
/ 30 апреля 2009

добавить

GROUP BY id, U.Tag1, R.Tag2, (Comp? perhaps if you need that in your output)

предложение для любого запроса, который вы используете сейчас:)

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