2010-05-13 67 views
1

我有这样的SQL语句访问:MS-访问:丢失的运算符在查询表达式

SELECT * 
FROM (SELECT [Occurrence Number], [1 0 Preanalytical (Before Testing)], NULL, NULL,NULL FROM [Lab Occurrence Form] 
WHERE NOT ([1 0 Preanalytical (Before Testing)] IS NULL) 
    UNION 
    SELECT [Occurrence Number], NULL, [2 0 Analytical (Testing Phase)], NULL,NULL FROM [Lab Occurrence Form] WHERE NOT ([2 0 Analytical (Testing Phase)] IS NULL) 
    UNION 
    SELECT [Occurrence Number], NULL, NULL, [3 0 Postanalytical (After Testing)],NULL FROM [Lab Occurrence Form] WHERE NOT ([3 0 Postanalytical (After Testing)] IS NULL) 
UNION 
    SELECT [Occurrence Number], NULL, NULL,NULL [4 0 Other] FROM [Lab Occurrence Form] WHERE NOT ([4 0 Other] IS NULL) 
) AS mySubQuery 
ORDER BY mySubQuery.[Occurrence Number]; 

一切都很好,直到我说的最后一行:

SELECT [Occurrence Number], NULL, NULL,NULL [4 0 Other] FROM [Lab Occurrence Form] WHERE NOT ([4 0 Other] IS NULL) 

我得到这个错误:

syntax error (missing operator) in query expression 'NULL [4 0 Other]' 

任何人都有任何线索为什么我得到这个错误?

+0

你真的应该用更理性的字段名。 – 2010-05-14 03:00:19

回答

3

你错过了一个逗号:

NULL, [4 0 Other] 
+1

对此表示赞赏 - 此处的查询比Access SQL视图更具可读性。 – mdma 2010-05-13 00:56:55