在访问2010中收到以下错误,
the Microsoft access database engine cannot find the input table or query 'Test'.
Make sure it exists and that its name is spelled correctly.
运行时,
SELECT
TEST.[CATEGORY CODE] AS CATEGORYCODE
, TEST.[SAMPLE COMPOSITION] AS SAMPLECOMPOSITION
, Sum(TEST.[WPI]) AS [SumOfWPI]
, Sum(TEST.[Mean Freq Year Fav]) AS [SumOfMean Freq Year Fav]
FROM
(
SELECT *
FROM DATA1
WHERE DATA1.[CATEGORY CODE] IN (
SELECT DISTINCT CODES.[CATEGORY CODE]
FROM CODES
)
UNION ALL
SELECT *
FROM DATA2
WHERE DATA2.[CATEGORY CODE] IN (
SELECT DISTINCT CODES.[CATEGORY CODE]
FROM CODES
)
) AS TEST
WHERE TEST.[COUNTRY] = 'UNITED STATES'
AND TEST.[SAMPLE COMPOSITION] IN (
SELECT DISTINCT TEST.[SAMPLE COMPOSITION]
FROM TEST
)
AND TEST.[CATEGORY CODE] IN (
SELECT DISTINCT CODES.[CATEGORY CODE]
FROM CODES
)
GROUP BY TEST.[CATEGORY CODE], TEST.[SAMPLE COMPOSITION]
ORDER BY TEST.[CATEGORY CODE];
我正在创建一个第4桌TEST使用union all by clubbing 2 table Data1& Data2并确保只有记录用于从代码表中获取的类别代码。任何想法为什么它给我这个错误?
如果我删除这行是一个自联接到由union all创建的表: 和测试。[样品成分] IN(选择不同的测试。[样品成分]来自测试)
我可以运行查询....
另外,现在我指定了COUNTRY =“UNITED STATES”。但是我如何指定COUNTRY =“<> UNITED STATES”或COUNTRY =所有国家/地区,以便我可以为每个国家/地区获得总计?
现在我正在做多个标准自动过滤器来实现这一目标,但是这需要1.5天,因为在2个表之后的数据是大约92000个记录。所以,尝试访问实现相同。如果有人可以帮助我,那么我可以发送包含数据的示例文件。
答案 0 :(得分:0)
在创建之前,您无法引用TEST,并且您将在查询结果时创建它。你将不得不用2个查询来完成它,因为你需要UNION ALL中的所有结果。
COUNTRY<> “美国”将回答你的第二个问题。