0

この Select ステートメントは、次の数を提供します。

-同じCatCode

-同じ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 関数を使用してこれらのカテゴリを追加し、それらをグループ化したいと思います 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;
4

3 に答える 3

1

「p.Dw_Prod_Id Desc」列は group by 句に含まれていないと思います。

于 2012-05-25T04:59:41.010 に答える
0

group by 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;
于 2012-05-25T06:09:03.280 に答える
0

ORDER BY句に「p.Dw_Prod_Id」を含めたために問題が発生したと思いますが、この列はメインクエリで選択されていないため、問題が発生しますselect句にある列の1つをORDER BYに入れます(p.CatCode、p.CatName)

于 2012-05-25T05:03:15.993 に答える