1

Schemabinding を使用してこのビューを作成します。

CREATE VIEW RANKING_OPTIMIZATION_VIEW
WITH SCHEMABINDING
AS
  SELECT USERS.[USER_ID],
         USERS.GAMERTAG,
         CLASSIFICATION.WIDGET_ID,
         CLASSIFICATION.CLASSIFICATIONTYPE_ID,
         ROW_NUMBER() OVER(PARTITION BY CLASSIFICATION.WIDGET_ID, 
                                        CLASSIFICATION.CLASSIFICATIONTYPE_ID 
                               ORDER BY CLASSIFICATION.[SCORE] DESC ) AS RANKING,
         CLASSIFICATION.WIN,
         CLASSIFICATION.LOSE,
         CLASSIFICATION.SCORE
  FROM   [dbo].[GMW_CLASSIFICATION] AS CLASSIFICATION
         INNER JOIN [dbo].[GMW_USERS] AS USERS
           ON USERS.[USER_ID] = CLASSIFICATION.[USER_ID]
         INNER JOIN [dbo].[GMW_WIDGET_GAMETYPES] AS GAMETYPE
           ON GAMETYPE.[WIDGET_ID] = CLASSIFICATION.[WIDGET_ID]
              AND GAMETYPE.[GAMETYPE_ID] = CLASSIFICATION.[CLASSIFICATIONTYPE_ID] 

次のエラーが発生しました:ランキングまたは集計ウィンドウ関数が含まれているため、ビュー "GameRoomDev.dbo.RANKING_OPTIMIZATION_VIEW" にインデックスを作成できません。ビュー定義から関数を削除するか、ビューにインデックスを付けないようにしてください。

クエリを変更する方法はありますか?? ありがとう

4

1 に答える 1

0

Indexed View http://technet.microsoft.com/en-us/library/ms191432(v=sql.100).aspxで許可されているものについては、以下をお読みください 。Rowset 関数を使用していると思います。

于 2013-09-11T16:33:19.567 に答える