次のクエリでビューからデータを選択しています
SELECT * FROM "SCH"."MyView"
ORDERBYを追加すると
SELECT * FROM "SCH"."MyView"
ORDER BY Name
次のエラーが発生します
[Err] ORA-00979: not a GROUP BY expression
Oracleクエリエンジンはこれを無効なクエリに変換しますか?このようなトラブルシューティングをどのように開始しますか?
これが「SCH」の簡略化です。「MyView」
SELECT
Name,
(subquery) AS Foo,
(subquery) AS Bar
FROM
"SCH"."AnotherView"
GROUP BY
Name
サブクエリを削除すると、エラーメッセージなしでORDERBYを使用できます。サブクエリは次のとおりです。
( SELECT f.UnitPrice FROM "SCH"."AnotherView" f WHERE f.Name = main.Name AND f.Category = 'x' AND rownum < 2 ) AS priceX
( SELECT b.UnitPrice FROM "SCH"."AnotherView" b WHERE b.Name = main.Name AND b.Category = 'y' AND rownum < 2 ) AS priceY
編集:「WHERErownum <9999999」を追加すると、エラーがなくなります。バージョン10.2.0.4.064ビットを実行しています。