【问题标题】:Access Query + your query does not include the specified expression 'TimeID' as part of the aggregate functionAccess Query + 您的查询不包含指定表达式“TimeID”作为聚合函数的一部分
【发布时间】:2013-11-27 19:58:03
【问题描述】:

我在尝试运行查询时遇到以下错误

您的查询不包含作为聚合函数的一部分的指定表达式“TimeID”

INSERT INTO dwSalesFacts ( FactID, TimeID, CustomerID, EmployeeID, LocationID, ProductID, Quantity, UnitPrice, Discount )
SELECT COUNT(FactID), dwTime.TimeID, Orders.[Customer ID], Orders.[Employee ID], dwLocation.LocationID, [Order Details].[Product ID], [Order Details].Quantity, [Order Details].[Unit Price], [Order Details].Discount
FROM Orders, dwTime, dwLocation, [Order Details];

【问题讨论】:

    标签: sql ms-access insert


    【解决方案1】:

    由于您的SELECT 语句中有COUNT(FactID),因此您需要像这样指定GROUP BY

    GROUP BY dwTime.TimeID, Orders.[Customer ID], 
      Orders.[Employee ID], dwLocation.LocationID, 
      [Order Details].[Product ID], [Order Details].Quantity, 
      [Order Details].[Unit Price], [Order Details].Discount
    

    我不知道您是否希望将计数分组,但根据您的选择,它必须是这样。

    如果FactID 是一个自动编号字段,那么您甚至不需要指定它。请尝试以下操作:

    INSERT INTO dwSalesFacts (TimeID, CustomerID, EmployeeID, LocationID, 
        ProductID, Quantity, UnitPrice, Discount)
    SELECT t.TimeID, o.[Customer ID], o.[Employee ID], l.LocationID, 
        od.[Product ID], od.Quantity, od.[Unit Price], od.Discount
    FROM Orders AS o, dwTime AS t, dwLocation AS l, [Order Details] AS od
    

    【讨论】:

    • 也许我做得不对。 FactID 是新表中的自动编号。我的理解是我需要使用 COUNT(FactID) 来执行此操作,但是当我使用您给我的内容运行查询时,它会提示我为 FactID 输入一些内容
    • @user3043313,我更新了我的答案。注意我添加别名只是为了清理查询。它们不是必需的。让我知道它是否有效。
    • 它没有给出任何错误,但每次运行时 Access 都会锁定。已关闭 Access 几次,运行时它一直挂起。
    • 它可能正在工作并且没有真正锁定。您是否尝试过运行 SELECT t.TimeID, o.[Customer ID], o.[Employee ID], l.LocationID, od.[Product ID], od.Quantity, od.[Unit Price], od.Discount FROM Orders AS o, dwTime AS t, dwLocation AS l, [Order Details] AS od 并查看运行需要多长时间?另外,在您返回数据库后,您是否检查了dwSalesFacts 以查看它是否有任何新记录?我猜可能是这样。
    • 使用您拥有的 INSERT 语句,它会抓取在 SELECT 语句的表中找到的每条记录,并将它们添加到 dwSalesFacts 表中。根据可能需要一段时间的记录数量,Access 将在完成时显示为锁定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多