此Select Statement提供的数字为:
-Same CatCode
-Same CatName
但使用不同的Sales_Amt
Select p.CatCode, p.CatName, s.Sales_Amt
From A3_Dw_Prod p, A3_Dw_Sales s
Order By p.Dw_Prod_Id Desc;
我想使用Sum函数添加这些类别和Group Them 当我使用Sum时,我得到一个错误
ORA-00979:不是GROUP BY表达式
Select p.CatCode, p.CatName, Sum(s.Sales_Amt)
From A3_Dw_Prod p, A3_Dw_Sales s
Where p.Dw_Prod_Id = s.Dw_Prod_Id
Group By p.CatCode, p.CatName
Order By p.Dw_Prod_Id Desc;
答案 0 :(得分:1)
我认为“p.Dw_Prod_Id Desc”列不在group by子句中。
答案 1 :(得分:0)
我认为问题出现了,因为您在ORDER BY子句中包含了“p.Dw_Prod_Id” 但是,尚未在主查询中选择此列,因此会产生问题 放入ORDER BY select子句中的一列(p.CatCode,p.CatName)
答案 2 :(得分:0)
您必须将所有这些列放在您正在使用OR order by子句的组中。
Select p.CatCode, p.CatName, p.Dw_Prod_Id, Sum(s.Sales_Amt)
From A3_Dw_Prod p, A3_Dw_Sales s
Where p.Dw_Prod_Id = s.Dw_Prod_Id
Group By p.CatCode, p.CatName,p.Dw_Prod_Id
Order By p.Dw_Prod_Id Desc, p.CatCode, p.CatName;