1. ホーム
  2. sql

[解決済み】ORA-01791: SELECTされた式ではない

2022-01-26 13:04:21

質問

私はDBから詳細を取得する必要があります。私のコードに何か間違ったことがありますか?

SELECT DISTINCT FNAME, LNAME, MEMBERORG, DAYCOUNT, TIMESTAMP, COUNT(FNAME) AS total,(SELECT COUNT(*) FROM REPORT_VIEW_PAGE) AS tot
FROM REPORT_VIEW_PAGE 
WHERE ID = '68' AND TYPE = 'node'
GROUP BY FNAME, LNAME, MEMBERORG, DAYCOUNT, TIMESTAMP
ORDER BY TITLE ASC

これはエラーになります。

ORA-01791: not a SELECTed expression
01791. 00000 -  "not a SELECTed expression"
*Cause:    
*Action:
Error at Line: 6 Column: 10

解決方法は?

ここで問題となるのは ORDER BYTITLE は選択されていません。 DISTINCT のクエリを実行します。このため DISTINCT が使用されると SELECT クエリは resultset を選択したカラムに基づかせる。

ORDER BY カラムが選択されていない場合、そのカラムの一意性を確保することはできません。 resultset の適用に失敗し、その結果 ORDER BY .