1:nの関係を持つ2つのテーブルがあります:「content」と「versioned-content-data」(たとえば、記事エンティティとその記事で作成されたすべてのバージョン)。各「コンテンツ」のトップバージョンを表示するビューを作成したいと思います。
現在、私はこのクエリを(単純なサブクエリで)使用しています:
選択する t1.id、 t1.title、 t1.contenttext、 t1.fk_idothertable t1.version mytableからt1として WHERE(バージョン=(SELECT MAX(バージョン)ASトップバージョン mytableから WHERE(fk_idothertable = t1.fk_idothertable)))
サブクエリは、実際には、特定のアイテムの最高バージョンを抽出する同じテーブルへのクエリです。バージョン管理されたアイテムは同じfk_idothertableを持つことに注意してください。
SQL Serverで、このクエリのインデックス付きビューを作成しようとしましたが、インデックス付きビューではサブクエリが許可されていないため、作成できないようです。それで...ここに私の質問があります...このクエリをJOINを使用してある種のクエリに変換する方法を考えられますか?
インデックス付きビューには次のものを含めることができないようです。
- サブクエリ
- 一般的なテーブル式
- 派生テーブル
- HAVING句
私は絶望的です。他のアイデアは大歓迎です:-)
どうもありがとう!