1

我有一个字段,当缩短为最左边的 2 个字符时,可以将其作为关键字段连接到另一个表。

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

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

这是删除最左边的 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];
4

1 回答 1

2

您应该能够使用JOIN 上JOIN的函数对表进行操作:LEFT

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

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

注意:这是在 MS Access 2003 中测试的。

于 2013-04-08T14:19:59.530 回答