连接操作中的语法错误

时间:2011-09-01 16:52:27

标签: sql ms-access syntax-error

我在连接操作中遇到语法错误:有两个不同的表具有相同的字段名称,但字段类型不同。一个是自动编号,另一个是文本字段。这是我的SQL。请帮助一些人。

SELECT [SPO Data Entry Table].[SPO#], [Standard Brk].*, [Standard SubBrk].*
FROM ([SPO Data Entry Table] INNER JOIN [Standard Brk] ON [SPO Data Entry Table].[SPO#] = CDBL(Standard Brk.[SPO#]) 
INNER JOIN [Standard SubBrk] ON [Standard Brk].[Test #] = [Standard SubBrk].[Unit No]
WHERE [SPO Data Entry Table].[SPO#]=Val([Standard Brk].[SPO#]);

SPO数据输入表=自动编号
标准Brk =文字

1 个答案:

答案 0 :(得分:2)

您缺少CDBL中标准Brk周围的表格标识符

你有CDBL(Standard Brk.[SPO#])它应该是CDBL([Standard Brk].[SPO#])

你还没有直接关闭开口支架,因为我猜你需要在CDBL([Standard Brk].[SPO#])

的结束括号之后直接添加它

编辑 - = - = - = 进一步读取代码,同时删除where子句,因为它与内连接子句

相同

给你

SELECT [SPO Data Entry Table].[SPO#], [Standard Brk].*, [Standard SubBrk].*
FROM ([SPO Data Entry Table] INNER JOIN [Standard Brk] ON [SPO Data Entry Table].[SPO#] = CDBL([Standard Brk.[SPO#]])) INNER JOIN [Standard SubBrk] ON [Standard Brk].[Test #] = [Standard SubBrk].[Unit No]