2011-02-02 85 views
0

我在Microsoft Access中有三个表。MS Access加入创建新字段

我有一个查询,加入属性上的前两个,但需要使用第三个表来创建一个“标志”字段,如果在表2给定名称的MeasurementType是“允许”。

例如,

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(可能有不止一个允许的按名称输入)。我尝试做一个像上面描述的连接,但我得到了“不允许连接”和其他这样的废话。我无法想象自己走出这个纸板箱的方式。想法?

回答

0

访问数据库引擎要求您明确地告诉它需要什么类型的JOIN:INNER JOIN;左加入;正确加入。

您的字段列表中还有一个错位的逗号。

我的猜测是这个查询更接近你想要什么:

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

Aaaannnd。 ACE连接处理器是*愚蠢*(注意:这是描述性的,*不是*一般的访问 - 打击)。检查“不支持连接表达式”的帮助说,连接的“结果可能因连接评估的顺序而异。”嗯,这不是什么伙计们应该做的,执行评估命令?没关系.... – RolandTumble 2011-02-02 19:09:14