我有这个查询,它工作得很好。当我打开create query并在窗口中复制/粘贴SQL时,它运行得很好,并且我可以编辑表单编号并保存查询。在我关闭查询,然后在设计视图中再次打开它后,括号都消失了,当我尝试更改或保存任何内容时,我得到的连接表达式不受支持。无论查询如何运行,结果都是正确的。我能做些什么来防止查询像这样被更改?为什么要去掉括号?
SELECT DISTINCT
A01.ID,
A01.Symbol,
A01.Number,
A01.Module,
A02.Form as FormHE3,
MAX (A02.Sequence) as FormSeq
INTO [CodesAndFormsResults]
FROM
(01_PreviousTable A01
left outer join tbl_PolForms A02 ON (A02.ID = A01.ID
and A02.Form = 'HE3'))
GROUP BY
A02.Form,
A01.ID,
A01.Symbol,
A01.Number,
A01.Module
ORDER BY
A01.Number,A01.Symbol,A01.Module;发布于 2013-04-17 00:36:15
SELECT DISTINCT在GROUP BY查询中是多余的;当你专注于构建一个普通的SELECT查询时,去掉INTO [CodesAndFormsResults],它返回你想要的东西,并且哪个Access的查询设计器不会损坏。您可以稍后再添加连接,但现在仅限于从possible.ON子句到基于INTO [CodesAndFormsResults]的子查询中的Form = 'HE3'子句的最简单查询SELECT
A01.ID,
A01.Symbol,
A01.Number,
A01.Module,
A02.Form AS FormHE3,
MAX(A02.Sequence) AS FormSeq
FROM
[01_PreviousTable] AS A01
LEFT JOIN
(
SELECT t.ID, t.Sequence, t.Form
FROM tbl_PolForms AS t
WHERE t.Form = 'HE3'
) AS A02
ON A01.ID = A02.ID
GROUP BY
A02.Form,
A01.ID,
A01.Symbol,
A01.Number,
A01.Module
ORDER BY
A01.Number,
A01.Symbol,
A01.Module;发布于 2013-04-17 00:16:47
括号正在被删除,因为它们是不必要的。MS Access总是在保存查询之前尝试简化查询。有时你可以欺骗MS Access,让它不去管它,但这通常会使你的查询变得更加复杂和脆弱。
查询解析器正在抱怨(“不支持连接语法”),因为它不能直观地显示查询。当您指定条件联接时,总是会发生这种情况。这真的没有什么问题。您只需作为SQL编辑查询,而不是通过设计器。
https://stackoverflow.com/questions/16041568
复制相似问题