次のコードは、既に縮小されたサンプルですが、依然として構文エラーが発生します。
ORA-00904: "R"."READING_TIME": invalid identifier
SELECT r.user_id, rm.reading_time start_time, r.reading_time end_time
FROM Readings r
INNER JOIN (
SELECT r2.user_id, r2.reading_time, r2.x, r2.y
FROM Readings r2
WHERE r2.user_id=r.user_id and
r2.reading_time < r.reading_time
) rm
ON r.user_id=rm.user_id;
内側のクエリが外側のクエリのエイリアスに問題があるのはなぜですか?
私のフィドルへのリンク: http://sqlfiddle.com/#!4/0d4b5/21
UPDATE:
自己結合を実行し、相関クエリをON句に移動することで問題を解決しました。
スクリプト全体で更新されたフィドル: http://sqlfiddle.com/#!4/39032/10