2012-02-02 109 views
3

定義前100名有沒有辦法選擇最前@top通過像在SQL Server 2008中的以下代碼的變量定義的價值?SQL Server 2008中選擇一個變量

declare @top as integer; 
set @top=100; 

SELECT top @top 
    T1.id as clientInfoId 
    ,T1.ucsId 
    ,T1.phoneHome 
    ... (more columns here)...... 
    ,T1.businessTitle 
FROM 
    YELLOW_OUT_CLIENT_INFO AS T1  
LEFT JOIN 
    YELLOW_OUT_BUSINESS T2 on T2.clientInfoId = T1.id 
WHERE 
    T1.AgentId=5 
    AND 
    T1.deleted IS NULL 
    ... (more conditions here)...... 
ORDER BY NEWID() 

回答

10

把變量在括號:

SELECT top (@top) 

This functionality was added in SQL Server 2005 ...... 2000是你必須做的SET ROWCOUNT @top

+0

瘋狂的最後一個版本。這是什麼時候添加的? – Yuck 2012-02-02 16:39:30

+0

是它的工作原理感謝名單 – themis 2012-02-02 16:40:04

+2

@Yuck SQL Server 2005中,我相信...... [示例 「A」 提供演示...](http://msdn.microsoft.com/en-us/library/ms189463(V = SQL 0.90)的.aspx) – 2012-02-02 16:42:09