首页 > 解决方案 > 使用 SQL Server 查找差异实例的数量

问题描述

我正在使用 SQL 构建股票同步。我正在尝试查询一个表,该表包含比较多个表中的产品数量数据的结果。我正在尝试显示偏差大于 0 达 7 天或更长时间的产品的数据 这是我为尝试获得此结果而编写的查询


 select  Sap_code, Product_description, Location, Total_difference
 from  Misalignment
 where Total_difference > 0  and
 count(Total_difference) > 7
 group by Sap_code, Product_description, Location, Total_difference

运行此查询时,我收到以下错误消息:

聚合可能不会出现在 WHERE 子句中,除非它位于 HAVING 子句或选择列表中包含的子查询中,并且被聚合的列是外部引用。”

我已包含我正在查询的表的图像作为参考点

在此处输入图像描述

标签: sqlsql-server

解决方案


这个查询是否给出了你想要的?

SELECT COUNT(Total_difference) AS DiffCount, Sap_code, Product_description
    , Location, Total_difference
FROM Misalignment      
WHERE Total_difference > 0 
GROUP BY Sap_code, Product_description, Location
HAVING COUNT(Total_difference) > 7

推荐阅读