2012-05-25 235 views
0

該SELECT語句給出的數目:集團通過聲明SQL

-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; 

我想用點心功能添加這些類別和組他們 當我使用總和我得到一個錯誤

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; 

回答

2

我認爲列 'p.Dw_Prod_Id說明' 不是group by子句英寸

+0

你是禮友!現在正在工作 –

1

我認爲,問題就出現了,你已經包含在訂單中「p.Dw_Prod_Id」 BY子句 然而,這列沒有在主查詢所選所以它由一列在創建ORDER把問題 即在select子句中(p.CatCode,p.CatName)

1

您必須將所有這些列都放入選中,並且您還按OR順序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;