這裏是我的查詢:在SQL Server中如何將ROW_Number()與子查詢列一起使用?
DECLARE @StartRow INT
DECLARE @PageSize INT
SET @StartRow = 1
SET @PageSize = 5
SELECT ContractID,Property FROM
(
SELECT c.ContractID,
Property =
(
SELECT TOP 1 p.Name
FROM Com.Property p
JOIN VContract.Contract2Property c2p ON c2p.PropertyID=p.PropertyID
WHERE c2p.ContractID=c.ContractID
),
ROW_NUMBER() OVER (ORDER BY Property) as RowNum
FROM VContract.[Contract] c
) as sub
WHERE RowNum BETWEEN @StartRow AND ((@StartRow + @PageSize) - 1)
的問題是(ORDER BY財產)部分。我可以通過c.ContractID而不是Property來訂購。 那麼如何實現這一目標呢?我需要查找該房產的名稱,然後我希望按照該名稱進行分類。
這是用來填充一個網站,讓分頁對我很重要,所以我可以限制多少記錄被返回一次。
感謝您的任何幫助。
你意識到了'p.name'值可以是任何可用的值? – 2010-03-05 22:02:48
是的。可以有一個或多個屬性分配給合同。對於標題列表puposes,我只需列出其中一個就足夠了。這是真實查詢的簡化版本,其中也包含屬性數量。因此,它實際上顯示如: ContractID,屬性名(10) - 若要弄清楚有實際分配10種性質。您會在詳細視圖中看到完整的10個。 – user169867 2010-03-06 16:35:32