2011-02-02 4 views
0

У меня есть три таблицы в Microsoft Access.MS Access Присоединяется для создания нового поля

У меня есть запрос, который присоединяется к первым двум атрибутам, но для создания поля «Флаг» необходимо использовать третью таблицу, если «Тип измерения» для данного имени в таблице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 

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

ответ

0

Двигатель базы данных Access 'требует, чтобы вы прямо сказали, какой тип JOIN вы хотите: INNER JOIN; LEFT JOIN; ПРАВОЕ СОЕДИНЕНИЕ.

У вас также была неуместная запятая в вашем списке полей.

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

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

Aaaannnd. Процессор соединения ACE - * глупо * (NB: это описательный, * не * общий Access-bashing). Проверка справки на «Присоединение к выражению не поддерживается» говорит о том, что результаты соединения могут варьироваться в зависимости от порядка, в котором оцениваются соединения. Гм, разве это не то, что должны делать парнеры, чтобы обеспечить порядок оценки? Ничего ... – RolandTumble

+0

Я думаю, что файл справки предполагает, что если вы измените параметры parens, вы можете изменить порядок оценки, и, следовательно, результаты могут быть разными. Похоже, что мне нравится Access/Jet/ACE - вы, кажется, ошибаетесь в отсутствии ошибок в файле справки за «недостаток» в оптимизаторе запросов, и вместо того, чтобы предполагать недостаточную документацию, вы обвиняете оптимизатор запросов. –

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