2016-02-09 3 views
0

У меня есть две таблицы, ни с основным идентификатором. Такая же комбинация полей однозначно идентифицирует записи в каждом и делает записи между двумя таблицами связанными (я думаю).Доступ «Не равно» Присоединиться

Мне нужен запрос, чтобы объединить все записи из одной таблицы и только записи из второго, которые еще не были включены из первой таблицы. Как это сделать, используя объединения «не равно» для нескольких полей? Мои результаты пока дают мне только записи первой таблицы или вообще никаких записей.

+0

Пожалуйста, ваши вопросы, которые вы упоминаете, показывая только результаты из первой таблицы или без записей вообще. –

+0

Вот пример: – Quasimodo

+0

SELECT ECDSlides. [Код поставщика], ECDSlides. [Название поставщика], ECDSlides.Commity ОТ ECDSlides LEFT JOIN (ECDSlides.Commodity = [Mit [Код поставщика]) WHERE (((ECDSlides. [Код поставщика]) <> [Mit Task Details2]. [Код поставщика] [Код поставщика] = [MIT Task Details2]. [Код поставщика] ]) AND ((ECDSlides.Commity) <> [Mit Task Details2]. [Commodity]) AND ((ECDSlides. [Baseline ECD]) <> [Mit Task Details2]. [Baseline ECD])); – Quasimodo

ответ

0

Это может быть то, что вы ищете

SELECT fieldA,fieldB FROM tableA 
UNION 
SELECT fieldA,fieldB FROM tableB 

Союза должны удалить автоматически. «Союз всех» не будет.

Если по какой-то причине, вы получите идеальные дубликаты, и они не будут удалены, вы можете попробовать это:

SELECT DISTINCT * FROM (
    SELECT fieldA,fieldB FROM tableA 
    UNION 
    SELECT fieldA,fieldB FROM tableB 
) AS subquery 
+0

Союз не будет работать - он будет дублировать значения tableA. Таблица А является подмножеством таблицы Б, с добавлением дополнительного поля идентификации. – Quasimodo

+0

Вы уверены, что попробовали? «Союз удалит дубликаты. Союз все не делает». http://stackoverflow.com/questions/4127714/remove-duplicates-from-sql-union – phenxd

+0

Отлично! Я не знал различия между Союзом и Союзом Все. Большое спасибо. – Quasimodo

0

Попробуйте следующее:

SELECT ECDSlides.[Supplier Code], ECDSlides.[Supplier Name], ECDSlides.Commodity 

FROM ECDSlides LEFT JOIN (ECDSlides.Commodity = [Mit Task Details2].Commodity) AND (ECDSlides.[Supplier Code] = [Mit Task Details2].[Supplier Code]) 

WHERE [Mit Task Details2].Commodity Is Null; 
Смежные вопросы