2010-05-13 3 views
1

у меня есть это SQL заявление в доступе:мс доступа: отсутствует оператор в выражении запроса

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

Вы действительно должны использовать более рациональные имена полей. –

ответ

3

Вы пропустили запятую:

NULL, [4 0 Other] 
+1

Kudos to SO - этот запрос более читабельен, чем в представлении Access SQL. – mdma

Смежные вопросы