在 access 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];
我正在使用 union all 创建第 4 个表 TEST,方法是将 2 个表 Data1 和 Data2 合并,并确保只有记录是从 Codes 表中获取的类别代码。任何想法为什么它给我这个错误?
如果我删除此行,它是由 union all 创建的表的自联接: AND TEST.[SAMPLE COMPOSITION] IN (SELECT DISTINCT TEST.[SAMPLE COMPOSITION] FROM TEST)
我能够运行查询....
另外,现在我已经指定了 COUNTRY = "UNITED STATES"。但是我如何指定 COUNTRY="<>UNITED STATES" 或 COUNTRY= 所有国家,以便我可以获得每个国家的总计?
现在我正在做多个标准自动过滤器来实现这一点,但它需要 1.5 天,因为合并 2 个表后的数据约为 92000 条记录。因此,尝试访问以实现相同的目标。如果有人可以帮助我,那么我可以发送一个包含数据的示例文件。