SQL Server 2008 выбирает 100 лучших, определенных переменной - PullRequest
3 голосов
/ 02 февраля 2012

Есть ли способ выбрать top @top, определяющий значение с помощью переменной, подобной следующему коду в 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()

1 Ответ

10 голосов
/ 02 февраля 2012

Поместите переменную в скобки:

SELECT top (@top)

Эта функциональность была добавлена ​​в SQL Server 2005 ... 2000 была последней версией, которую вам нужно было сделать SET ROWCOUNT @top

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...