如何在MS Access 2007中使用Left功能

时间:2014-04-07 16:48:11

标签: ms-access ms-access-2007

好吧,我正在尝试使用带有MS Access查询的基本left()函数,以便在两个表之间创建内部联接。将要连接的两列包含给定街道地址的前3个字符。

我试图使用如下所示的功能: enter image description here

我只想拍下这一栏的前三个字符(显然是从左边开始),然后将它加入地址"左边的地址"我的分支管理表中的列。然而,每次我尝试运行此查询时,都会出现语法错误。左边的函数几乎在每种语言/ RDBMS中都非常简单,我做错了什么?

编辑:这是错误的屏幕截图: enter image description here 错误非常模糊。

2 个答案:

答案 0 :(得分:3)

你遗漏了一个紧密的括号。改变这个......

ON ([Branch Mgmt].[Left 3 of address] = left([SalesPage Offices w/CRD].ADDRESS_LINE_1,3)

到此......

ON ([Branch Mgmt].[Left 3 of address] = left([SalesPage Offices w/CRD].ADDRESS_LINE_1,3))

答案 1 :(得分:0)

我认为你不能在你的加入声明中使用LEFT()函数。而是运行子查询以获取所需的字段,然后将它们链接在一起。如下所示:

SELECT M.TRADE_FIRM, M.POSTAL_CODE_1, M.ADDRESS_LINE_1, 
       M.OFFICE_ID, M.STATE_PROVINCE, M.CITY, B.*
FROM
(
  SELECT S.*, LEFT(S.ADDRESS_LINE_1, 3) AS Left3Addr
  FROM [SalesPage Offices w/CRD] AS S
) AS M
INNER JOIN [Branch Mgmt] AS B ON B.[Left 3 of address] = M.Left3Addr
AND B.State = M.State
AND B.City = M.City
WHERE M.TRADE_FIRM = 'WHATEVER'