【问题标题】:"Can't find table" error in SQL FROM(UNION) AS table, INNER JOIN, COUNT() FROM tableSQL FROM(UNION) AS 表、INNER JOIN、COUNT() FROM 表中的“找不到表”错误
【发布时间】:2021-07-21 16:36:51
【问题描述】:

我目前有一个查询,在每个联合选择中,为了获得出现次数,我有类似的内容:

SELECT Order_Id, Order_Date, 
       C.cnt AS Order_Parts
  FROM table1
  INNER JOIN (SELECT Order_Id, count(Order_Id) as cnt
                 FROM table1
                GROUP BY Order_Id) C ON table1.Order_Id = C.Order_Id
UNION SELECT Order_Id, Order_Date, 
       C.cnt AS Order_Parts
  FROM table2
  INNER JOIN (SELECT Order_Id, count(Order_Id) as cnt
                 FROM table2
                GROUP BY Order_Id) C ON table2.Order_Id = C.Order_Id

它工作正常,但我正在重新组织它,以便 UNION 在 Query FROM 中,所以是这样的:

SELECT
Order_Id,Order_Date,C.cnt AS Order_Parts

FROM(
    SELECT Order_Id, Order_Date
    FROM table1
    UNION SELECT Order_Id, Order_Date
    FROM table2
) AS Parts
    INNER JOIN (SELECT Order_Id, count(Order_Id) as cnt
                FROM Parts
                GROUP BY Order_Id) C ON Parts.Order_Id = C.Order_Id

但是 Access 向我抛出一个错误,说它找不到表或查询“零件”。我一生都无法弄清楚为什么它不能使用它;有人可以指导我出什么问题吗?

【问题讨论】:

    标签: sql ms-access count inner-join


    【解决方案1】:

    错误似乎很明显。表别名(即parts)是指用于定义列的表或引用。它确实为数据提供了一个新的“来源”。

    即不能作为from子句中的表重复使用。

    在所有数据库中都是如此。然而,几乎任何其他数据库都支持公用表表达式——它可以满足您的需求。 MS Access 没有。您唯一的选择是:

    • 重复 UNION 查询以获取第二个引用。
    • 使用视图。

    注意:可能还有其他方法可以编写您要编写的查询。为此,我建议您提出一个新的问题,其中包含示例数据、期望的结果以及对您想要完成的目标的清晰解释。

    另外,您可能不需要UNION,因为它会删除重复项。 UNION ALL 比较常见。

    【讨论】:

    • 当然是天哪。谢谢!是的,我可能在某个时候不得不写一个带有总体目标的新问题。 UNION 应该没问题,我认为在这种情况下,因为每个表都有完全不同的 Order_Id 格式(我将 Ebay、Etsy 和其他一些的订单详细信息合并为一个),但我可能应该养成 UNION ALL 的习惯。 .
    • @Eireni'Fikia'Moutoussi 。 . .我可能会建议您切换到更标准的数据库。
    • 我啊,不知道你的意思是什么,我不知道什么是标准,因为我只是在为我工作的小企业工作时计算事情。我在 IT 方面的培训为 0,实际上我最初只是受雇于营销/平面设计,但手动文书工作让我发疯,所以决定学习一些数据库的东西,我的老板并没有不同意。但是我已经重新组织了,所以它看起来不再像这样了......我敢肯定这可能会让你畏缩......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    相关资源
    最近更新 更多