問題タブ [lead]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
21 参照

oracle - このクエリで分析関数を使用する方法

作成する必要がある非常にユニークなクエリがあり、すべてを 1 つのクエリで実行したいと考えていますが、できるかどうかはわかりません。

記事のリストがあり、各記事には一意の ID があります。アプリケーションは、この ID をストアド プロシージャに渡します。次に、その記事、および次の記事と前の記事を取得します。そのため、リストは日付順にソートされており、次と前を取得できます。

これは LEAD & LAG を介して行います。1 つのクエリで動作します。ただし、次または前の記事のいずれかのフィールドに NULL が含まれている場合があります。そのフィールドが NULL の場合、基本的にはそのフィールドが NULL でない次の記事を取得します。

それからもう一つあります。アプリケーションから渡された記事には、カテゴリが割り当てられています。次と前の記事は同じカテゴリでなければなりません。

クエリはかなり大きくなりましたが、サブクエリがすべてを日付順にソートするため、渡された記事 ID の次と前を取得することができます。しかし、NULL 要素とカテゴリ要素という 2 つの新しい基準を使用すると、1 つのクエリでこれを行う方法がわかりません。

何かご意見は?または、いくつかの例、または既存のクエリが必要ですか?

いつもありがとうございます。