这是查询:
SELECT *
FROM (SELECT [Occurrence Number], [Occurrence Date], [1 0 Preanalytical (Before Testing)], [Cup Type], NULL as [2 0 Analytical (Testing Phase)], [2 0 Area], NULL as [3 0 Postanalytical ( After Testing)],NULL as [4 0 Other], [Practice Code], [Specimen ID #] FROM [Lab Occurrence Form]
WHERE NOT ([1 0 Preanalytical (Before Testing)] IS NULL)
UNION
SELECT [Occurrence Number], [Occurrence Date],NULL, [Cup Type],[2 0 Analytical (Testing Phase)], [2 0 Area], NULL,NULL, [Practice Code], [Specimen ID #] FROM [Lab Occurrence Form] WHERE NOT ([2 0 Analytical (Testing Phase)] IS NULL)
UNION
SELECT [Occurrence Number], [Occurrence Date],NULL, [Cup Type],NULL, [2 0 Area], [3 0 Postanalytical ( After Testing)],NULL, [Practice Code], [Specimen ID #] FROM [Lab Occurrence Form] WHERE NOT ([3 0 Postanalytical ( After Testing)] IS NULL)
UNION
SELECT [Occurrence Number], [Occurrence Date],NULL, [Cup Type],NULL, [2 0 Area], NULL, [4 0 Other] FROM [Lab Occurrence Form], [Practice Code], [Specimen ID #] WHERE NOT ([4 0 Other] IS NULL)
) AS mySubQuery
ORDER BY mySubQuery.[Occurrence Number];
由于某种原因,它不喜欢[练习代码]。它绝对是表中的一列,所以我不明白这个问题。
错误是
microsoft office access数据库引擎找不到输入表或查询'Practice Code'........
答案 0 :(得分:3)
嗯,错误说明了一切。它不是一张桌子。在您的问题中,您声明它是表中的列。
你有一个[Lab Occurrence Form], [Practice Code], [Specimen ID #]
,因此它假定那里列出的所有表都是表。
答案 1 :(得分:2)
UNION中的最后一个SQL SELECT有一个搞乱的FROM子句:
SELECT [Occurrence Number], [Occurrence Date],NULL, [Cup Type],NULL, [2 0 Area], NULL, [4 0 Other]
FROM [Lab Occurrence Form], [Practice Code], [Specimen ID #]
WHERE NOT ([4 0 Other] IS NULL)
您似乎在FROM子句,[练习代码]和[标本ID#]中放了两个字段。