+ -
当前位置:首页 → 问答吧 → sql2000分页问题

sql2000分页问题

时间:2011-11-29

来源:互联网


SELECT TOP 5 *
FROM
 CrmCallinBase
WHERE
 (CallNr NOT IN (SELECT TOP ( 50* 2) CallNr FROM CrmCallinBase ORDER BY CallNr DESC))
ORDER BY
 CallNr DESC


执行报错:伺服器: 訊息 170,層級 15,狀態 1,行 7 行 7: '(' 附近的語法不正確。

作者: a_11110   发布时间: 2011-11-29

2000的话不能直接用TOP+括号传参的方式
要用动态sql,或者你直接写100

作者: geniuswjt   发布时间: 2011-11-29

拼接动态sql

exec (@sql)

作者: rucypli   发布时间: 2011-11-29

只能轉為字符再執行

作者: roy_88   发布时间: 2011-11-29

給你個例子參照


SQL code
DECLARE @sql NVARCHAR(4000)

SET @sql='SELECT TOP '+RTRIM(5)+' *
FROM
 CrmCallinBase
WHERE
 (CallNr NOT IN (SELECT TOP 'rtrim(50* 2)+' CallNr FROM CrmCallinBase ORDER BY CallNr DESC))
ORDER BY
 CallNr DESC'
 
 EXEC (@sql)

作者: roy_88   发布时间: 2011-11-29

top里面不能这样 需要动态SQL执行。

转换为字符串格式的执行。

作者: fredrickhu   发布时间: 2011-11-29

热门下载

更多