1

ストアのリストを表示するときにストアド プロシージャを使用してページ ナビゲーションを作成しています。StoreName&を持つテーブルが 1 つしかありませんS_Id

そして、ここに私のクエリがあります:

    SELECT  Stores.Name
    FROM
       (
         SELECT ROW_NUMBER() OVER (ORDER BY Stores.S_Id) AS rownum ,
            Stores.Name
         FROM Stores    
       )AS ordered
    WHERE ordered.rownum BETWEEN [someValue] AND [someValue] 

しかし、手順を保存しようとすると、エラーが発生します。

複合識別子 Stores.Name をバインドできません

多くのトピックを見てきましたが、何が間違っているのかわかりません。LINQでそれを行う場合、次のようなことを試します:

    (select name from Stores order by S_Id).Skip(n).Take(m) .
4

1 に答える 1

1

サブクエリは新しい名前を定義しorderedます-データ用-したがって、代わりにその新しい名前を使用する必要がありますstores:

SELECT  
    ordered.Name    <=== you're selecting from the subquery which is called "ordered" - use that name!!
FROM
   (SELECT 
       ROW_NUMBER() OVER (ORDER BY Stores.S_Id) AS rownum,
       Stores.Name
    FROM Stores    
   ) AS ordered
WHERE 
   ordered.rownum BETWEEN [someValue] AND [someValue] 
于 2012-06-18T16:42:22.843 に答える