MS Access присоединяется к созданию нового поля - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть три таблицы в Microsoft Access.

У меня есть запрос, который объединяет первые два в атрибуте, но мне нужно использовать третью таблицу для создания поля «Флаг», если MeasurementType для данного Имени в Таблице 2 «Разрешено».

Например.

Measures            Names                     AllowedTypes
-------             -------                   -------
UniqueVal ------->  UniqueVal (PK)  /------>  Name
Measurement         Name -----------    --->  AllowedType
MeasurementType -----------------------/      ID (PK)                    

Мой запрос "Объединить" говорит

SELECT Measures.UniqueVal, Measures.Measurement, Measures.MeasurementType, Names,Name
FROM Measures JOIN Names on Measures.UniqueVal = Names.UniqueVal

Но мне нужно добавить «Поле флага», если MeasurementType для этого имени отсутствует в AllowedTypes (может быть более одного допустимого типа для имени). Я пытался сделать объединение, подобное изображенному выше, но я получаю "Присоединение не разрешено" и другие подобные глупости. Я просто не могу придумать выход из этой картонной коробки. Идеи?

1 Ответ

0 голосов
/ 02 февраля 2011

Движок базы данных Access требует от вас явного указания, какой тип JOIN вам нужен: INNER JOIN; ЛЕВЫЙ РЕЙТИНГ; ПРАВИЛЬНОЕ СОЕДИНЕНИЕ.

У вас также есть не запятая в списке полей.

Я думаю, этот запрос ближе к тому, что вы хотите:

SELECT Measures.UniqueVal, Measures.Measurement, Measures.MeasurementType, Names.[Name]
FROM Measures INNER JOIN Names on Measures.UniqueVal = Names.UniqueVal
...