2012-06-18 25 views
1

我在查看商店列表時使用存儲過程進行頁面導航。我只有一個表Store與列Name & 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] 

但是,當我嘗試保存我的程序我得到一個錯誤:

can not bind a composite identifier Stores.Name

我已經看到了很多的話題,但不能找到什麼是錯。如果我使用LINQ做它,我會嘗試這樣的事:

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

什麼工具/程序正在發送確切的錯誤消息? –

回答

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] 
相關問題