私はいくつかの検査データを含むテーブルを持っています。毎月すべての商品を検査する必要があります。ここでの目標は、毎月最後に検査されたレコードを見つけることです。SQL Oracle ---毎月最後のレコードを取得
表検査:
INSPECTION_I -------- INSPECTION_TS
200 -------------------- ------- 10/20/2011
201 ---------------------------- 2011/10/24
202 -------------------------- 10/26/2011
表Product_Inspection:
INSPECTION_I ------------------ ASSET_I
200 -------------- ---------------------- 1000
201 ---------------------- -------------- 2000
表Box_Inspection
INSPECTION_I -------- ASSET_I
202 ------------------------ 3000
表製品
ASSET_I ------- ----- ASSOCIATED_BOX_ASSET_I
1000年--------------------------- 3000
表のBOX:
ASSET_I ------------ OTHER_STUFF
3000 -------------------- #####
この場合、私が欲しいのはで、ではありません。私はMAX(to_char(inspection_ts、 'mm/yyyy'))をしようとしましたが、それは役に立たないです。もう一つの問題があります。何らかの理由で、商品や箱が1ヶ月に2回以上検査された場合にデカルトを取得し続けます。私が望むのは毎月1回の検査で、毎月の最後の検査でなければなりません。私は本当にそれに近づいていますが、誰かが助けることができれば、本当に感謝しています。入れ子にされたカーソルを使ってそれを得ることができましたが、私はそれを望んでいません。
ヘイクレイグ、私は分析関数で作業していませんが、それは間違いなく何か見えるようです。ちょうどあなたに知らせるために、私はSPで入力パラメータを取得していて、Java DAOレイヤで取得しているカーソルを戻しています。したがって、その動的SQL文字列です。私がこのルートに行くと、これは私の現在のSPに統合されますか? – Bytekoder
これは少なくともあなたが9iであると仮定して、あなたのSPのために働くことができるはずです。どのように動作させるかについてご質問がありましたら、お知らせください。 – Craig