我在连接操作中遇到语法错误:有两个不同的表具有相同的字段名称,但字段类型不同。一个是自动编号,另一个是文本字段。这是我的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 =文字
答案 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]