0

次のクエリでビューからデータを選択しています

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ビットを実行しています。

4

1 に答える 1

0

関数(つまり、、、、)と、句に含まれていないリスト内の式SELECTを含むステートメントを実行しようとした可能性があります。GROUP BYMINMAXSUMCOUNTSELECTGROUP BY

于 2012-02-28T09:29:39.233 に答える