2013-04-08 72 views
1

我有一个字段,缩写为其最左边的2个字符时可以作为关键字段连接到另一个表。将计算字段加入到1个查询中的表中

当我这样做时,我总是必须在自己的查询中执行LEFT([FieldName],2)位,然后在第二个查询中执行实际的连接。

有没有在单个查询中完成此操作的方法?

下面是查询的语法,它删除最左边的两个字符;让我们把它QueryA

SELECT Left([TableA].[Field1],2) AS AbbrField1 
FROM [TableA]; 

下面是加入QueryA基于该领域的另一个表查询“AbbrField1”我已经创造一流;让我们把它QueryB

SELECT [TableB].[Field2] 
FROM [QueryA] 
LEFT JOIN [TableB] ON [QueryA].[AbbrField1] = [TableB].[Field1]; 

回答

2

您应该能够使用基于连接的LEFT功能JOIN表:

SELECT B.[Field2] 
FROM [TableA] as A 
LEFT JOIN [TableB] as B 
    ON Left(A.[Field1], 2) = B.[Field1]; 

这将删除第二个查询的需要。

注:这在MS Access测试2003

+0

我不得不使用您创建的'B'别名'[表B]'的'SELECT'部分之前,它的工作,但工作得很好之后。非常感谢你。 – 2013-04-08 17:02:43

+0

@Matt对不起,我胖了。很高兴现在正在工作。 – Taryn 2013-04-08 17:05:11

相关问题