查询表达式中的语法错误(缺少运算符)
Syntax error ( missing operator ) in query expression of
我在 Access 2010 中有一个 table,我想从多个 table 中创建一个 INNER JOIN 查询,我做的是:
SELECT *
FROM (Archivo Maestro
INNER JOIN Concepto Presupuestal
ON Archivo Maestro.ID Concepto Presupuestal = Concepto Presupuestal.ID Concepto Presupuestal)
INNER JOIN asunto_estrategico
ON Archivo Maestro.ID Asunto Estrategico = asunto_estrategico.ID Asunto Estrategico;
但我收到一条错误消息“'Archivo Maestro.ID Concepto Presupuestal = Concepto Presupuestal.ID Concepto Presupuesta' 的查询表达式中的语法错误(缺少运算符),括号不认为它们是那里的问题。
您应该避免在 table 名称、列名称或字段名称中包含 space。
试试这个:
SELECT * FROM [Archivo Maestro] INNER JOIN [Concepto Presupuestal] ON ([Archivo Maestro].[ID Concepto Presupuestal] = [Concepto Presupuestal].[ID Concepto Presupuestal]) INNER JOIN asunto_estrategico ON ([Archivo Maestro].[ID Asunto Estrategico] = asunto_estrategico.ID);
最好的建议是使用下划线而不是 space 重命名所有 table 和列:Concepto Presupuestal --> Concepto_Presupuestal。这将为您省去很多问题。
问题是您的 table 名称包含 space,因此查询 parser/engine 将其作为两个不同的文字名称。您应该使用 []
转义它们。另外请注意,为了便于阅读,我使用了 table 别名(am
、cp
、ae
)。您的查询应该类似于
SELECT am.* FROM [Archivo Maestro] am
INNER JOIN [Concepto Presupuestal] cp ON am.ID = cp.ID
INNER JOIN [asunto_estrategico] ae ON am.ID = ae.ID;
我在 Access 2010 中有一个 table,我想从多个 table 中创建一个 INNER JOIN 查询,我做的是:
SELECT *
FROM (Archivo Maestro
INNER JOIN Concepto Presupuestal
ON Archivo Maestro.ID Concepto Presupuestal = Concepto Presupuestal.ID Concepto Presupuestal)
INNER JOIN asunto_estrategico
ON Archivo Maestro.ID Asunto Estrategico = asunto_estrategico.ID Asunto Estrategico;
但我收到一条错误消息“'Archivo Maestro.ID Concepto Presupuestal = Concepto Presupuestal.ID Concepto Presupuesta' 的查询表达式中的语法错误(缺少运算符),括号不认为它们是那里的问题。
您应该避免在 table 名称、列名称或字段名称中包含 space。
试试这个:
SELECT * FROM [Archivo Maestro] INNER JOIN [Concepto Presupuestal] ON ([Archivo Maestro].[ID Concepto Presupuestal] = [Concepto Presupuestal].[ID Concepto Presupuestal]) INNER JOIN asunto_estrategico ON ([Archivo Maestro].[ID Asunto Estrategico] = asunto_estrategico.ID);
最好的建议是使用下划线而不是 space 重命名所有 table 和列:Concepto Presupuestal --> Concepto_Presupuestal。这将为您省去很多问题。
问题是您的 table 名称包含 space,因此查询 parser/engine 将其作为两个不同的文字名称。您应该使用 []
转义它们。另外请注意,为了便于阅读,我使用了 table 别名(am
、cp
、ae
)。您的查询应该类似于
SELECT am.* FROM [Archivo Maestro] am
INNER JOIN [Concepto Presupuestal] cp ON am.ID = cp.ID
INNER JOIN [asunto_estrategico] ae ON am.ID = ae.ID;