OracleのSELECT
文のFROM
句で相関サブクエリを実行しようとしましたが、相関関係ができないことを示すエラーが表示されました(Obs.pID
認識されなかった)。FROMリストのOracle相関サブクエリ
これは機能しますか?
FROM ml.Person Person
JOIN ml.Obs ON Person.pID = Obs.pId
JOIN (SELECT ObsMax2.pId, ObsMax2.hdId
, MAX(ObsMax2.obsDate) as maxDate
FROM ml.Obs ObsMax2
WHERE ObsMax2.pId = Obs.pId
AND ObsMax2.obsDate < {?EndDate}
GROUP BY ObsMax2.pId, ObsMax2.hdId) ObsMax
ON Obs.pId = ObsMax.pId
AND Obs.hdId = ObsMax.hdId
AND Obs.obsDate = ObsMax.maxDate
私の回避策は非相関サブクエリにするように見える、と OOF申し訳amu--、逆上、逆上完全に実行されているからそれを保つサブクエリに基準を追加します。
可能であれば、それを適切に相関させる方法を理解したいと思います。サブクエリのように機能するビューは永遠に構築されます。
。あなたが達成しようとしていることについての質問に明確化を加えることを検討してください。 – Alkini
@David - "Pedant" :-) @Alan - 私はこのシステムの内部についてどの程度話しているのか分かりません。通常、私は、最近の観測結果を得るためにpID/hdIDによるグループ化を行うビルトインビューを使用しますが、2009年で2008年にクエリを実行している場合は失敗します。 – SarekOfVulcan