2009-04-29 5 views
0

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

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 
+1

Можете ли вы предоставить запрос, возвращающий эти значения? Можете ли вы предоставить данные о таблицах, используемых в этом запросе? –

+0

можете ли вы предоставить желаемый результат, который вы хотите? Поэтому я могу видеть, что вы действительно хотите – TStamper

ответ

0

добавить предложение

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

на любой запрос вы используете сейчас :)

1

Вы ищете что-то на линии:

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) показывает t ags в u, которые не были найдены в r.

Смежные вопросы