2
任何人都可以指出我在哪里搞乱查询以及如何纠正它。我越来越我该如何解决组错误
错误是:
SQL Server数据库错误:因为它不是在聚合函数或GROUP BY子句中包含列“A.competitor_id”在选择列表中无效。 号线,1列无0
SELECT A.competitor_id, A.Competitor_Name,
(((AVG(A.Final_Price_Shipping)/AVG(D.Final_Price_Shipping))*100)-100) as [Final Price Shipping Index],
(((AVG(A.Final_Price)/AVG(D.Final_Price))*100)-100) as [Final Price Index],
(((AVG(A.Regular_price)/AVG(D.Regular_price))*100)-100) as [Regular Price Index]
from
(SELECT A.competitor_id,C.Competitor_Name, COUNT(1) OVER (PARTITION BY A.competitor_id) as Row_Count,
avg(Final_Price) Final_Price,avg(Final_Price_Shipping) Final_Price_Shipping,
avg(Regular_price) as Regular_price ,SUM(A.Competitor_id) as cnt_NL
from [Tb_Competitor_Product_Info_New] A with (nolock)
inner join Tb_Competitor C on C.Competitor_Id=A.Competitor_ID
where A.Competitor_id in (1)
group by A.Competitor_ID,C.Competitor_Name) As A,
(SELECT A.competitor_id, COUNT(1) OVER (PARTITION BY A.competitor_id) as Row_Count,
avg(Final_Price) Final_Price,avg(Final_Price_Shipping) Final_Price_Shipping,
avg(Regular_price) as Regular_price ,SUM(A.Competitor_id) as cnt_NL
from [Tb_Competitor_Product_Info_New] A with (nolock)
where A.Competitor_id in (2,3,4,5,6,7,8,9)
group by A.Competitor_ID) As D
您使用的是.Competitor_ID在group by子句中,并且您正在使用小型案例选择它,不确定sql是否不区分大小写,同时错误意味着您需要选择要在group by子句中使用的字段 –