在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];
我创建了一个第四个表测试使用联合所有通过俱乐部2表Data1和Data2,并确保只有记录的类别代码从代码表。你知道为什么会给我这个错误吗?
如果我删除这一行,它是对联合all: AND TEST COMPOSITION IN (SELECT DISTINCT TEST.SAMPLE COMPOSITION FROM TEST)创建的表的自联接
我可以运行查询....
另外,现在我已经指定了COUNTRY = "UNITED STATES“。但是,我如何指定“<>UNITED STATES”或“COUNTRY= COUNTRY=COUNTRY=”,以便我可以获得每个国家的总数?
现在我正在做多条件自动筛选来实现这一点,但这需要1.5天的时间,因为在合并两个表之后的数据是~92000条记录。因此,尝试访问也能达到同样的效果。如果有人可以帮助我,那么我可以发送一个包含数据的示例文件。
发布于 2013-06-10 22:14:54
在创建测试之前,您不能引用它,并且您是作为查询的结果来创建它的。您将不得不使用2个查询来完成此操作,因为您需要在您的UNION ALL中获得所有结果。
COUNTRY <>“美国”将回答您的第二个问题。
https://stackoverflow.com/questions/17017823
复制相似问题