作成する必要がある非常にユニークなクエリがあり、すべてを 1 つのクエリで実行したいと考えていますが、できるかどうかはわかりません。
記事のリストがあり、各記事には一意の ID があります。アプリケーションは、この ID をストアド プロシージャに渡します。次に、その記事、および次の記事と前の記事を取得します。そのため、リストは日付順にソートされており、次と前を取得できます。
これは LEAD & LAG を介して行います。1 つのクエリで動作します。ただし、次または前の記事のいずれかのフィールドに NULL が含まれている場合があります。そのフィールドが NULL の場合、基本的にはそのフィールドが NULL でない次の記事を取得します。
それからもう一つあります。アプリケーションから渡された記事には、カテゴリが割り当てられています。次と前の記事は同じカテゴリでなければなりません。
クエリはかなり大きくなりましたが、サブクエリがすべてを日付順にソートするため、渡された記事 ID の次と前を取得することができます。しかし、NULL 要素とカテゴリ要素という 2 つの新しい基準を使用すると、1 つのクエリでこれを行う方法がわかりません。
何かご意見は?または、いくつかの例、または既存のクエリが必要ですか?
いつもありがとうございます。