使用存储过程的页面导航(不能绑定复合标识符)



我在查看商店列表时使用存储过程进行页面导航。我只有一个表StoreNameS_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) .

您的子查询为数据定义了一个新名称 - 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] 

最新更新