我正在使用以下查询:
SELECT Products.SKU,
Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.Customer,
First(Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.Requested_But_Not_Sent) AS FirstOfRequested_But_Not_Sent
FROM Products
LEFT JOIN Buy_Orders_Details_Requested_But_Not_Sent_By_Customer
ON Products.SKU = Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.SKU
GROUP BY Products.SKU,
Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.Customer;
我得到“无效的函数参数”。
当我运行时:
SELECT Products.SKU,
Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.Customer,
First(Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.Quantity_Ordered) AS FirstOfQuantity_Ordered
FROM Products
LEFT JOIN Buy_Orders_Details_Requested_But_Not_Sent_By_Customer
ON Products.SKU = Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.SKU
GROUP BY Products.SKU,
Buy_Orders_Details_Requested_But_Not_Sent_By_Customer.Customer;
它没有问题。两个查询之间的唯一区别是正在聚合的字段——Quantity_Ordered 或 Requested_But_Not_Sent。基础记录集“Buy_Orders_Details_Requested_But_Not_Sent_By_Customer”本身就是一个查询,而不是一个表。单独打开该查询可以正常工作,没有问题。“Requested_But_Not_Sent”不包含任何 NULL。当我将查询 Buy_Orders_Details_Requested_But_Not_Sent_By_Customer 的内容转储到临时表并加入该表而不是查询时,它工作正常。
在查询 Buy_Orders_Details_Requested_But_Not_Sent_By_Customer 中,我发现有些字段有效,有些则无效(如前所述)。为什么会出现这种情况?为什么底层记录集是表还是查询是相关的?最重要的是,如何在不使用临时表的情况下获得我想要的结果?如果需要更多信息,请指定,我会提供。
谢谢!