回答

收藏

``在'OFFSET'附近语法不正确'.modift sql comm 2012 to 2008

技术问答 技术问答 200 人阅读 | 0 人回复 | 2023-09-14

为此我列出了问题! O9 q0 W. Z/ l; E4 e: Q5 }, A
SELECT q.qTitle,q.qDescription,q.qCreatedOn,u.uCode,u.uFullname,qcat.qcatTitle,q.qId,q.qStatus FROM tblQuestion AS q INNER JOIN tblUser AS u ON q.uId = u.uId INNER JOIN tblQuestionCategory AS qcat ON q.qcatId = qcat.qcatId WHERE (q.qStatus = 1) ORDER BY q.qCreatedOn DESC OFFSET @page*10 ROWS FETCH NEXT 10 ROWS ONLY但是我的服务器有问题,
/ K& r: d4 I3 ]* \Incorrect syntax near 'OFFSET'.Invalid usage of the option NEXT in the FETCH statement.如何修改SQL Server 2008的查询?4 o9 n- ^' D/ Z/ F" |
还有一个问题。如何编写用于列出页面的存储过程?这是我的完整代码http://codepaste.net/gq5n6c
" B6 B( z$ N2 [4 @* x! Q, H答案:http://codepaste.net/jjrkqr
* S" \* q) h1 [: q  s                                                                / U6 J, X: |8 s) h
    解决方案:                                                               
& }$ r7 ]- {/ Y4 v# y                                                                如注释中发现的,错误的原因是SQL Server 2008不支持。你可以试试SQL Server 2012更改查询。
( s, R8 F  N6 u6 o& W这样的事:
3 n* P4 y1 {' E" r, S' x. ASELECT column1FROM   (         SELECT column1,ROW_NUMBER() OVER (ORDER BY column_id) AS x          FROM   mytable       ) AS tblWHERE  tbl.x BETWEEN 20 AND 30在您的代码中:-
5 ?7 {" p( R1 e- wSELECT * FROM  (SELECT ROW_NUMBER() OVER(ORDER BY q.qId) AS rownumber FROM tblQuestion AS q INNER JOIN tblUser AS u ON q.uId = u.uId INNER JOIN tblQuestionCategory AS qcat ON q.qcatId = qcat.qcatId ) as somex WHERE  somex.rownumber  BETWEEN 11 AND 20问题是你还没有定义@page。
" o, ]$ s& f9 |  W& a/ Z试试这个(因为你还没提到什么@page。我认为它是一个常量,或者你可以声明它,然后为它设置一个值):-) {! q9 J, R( y6 g, {! j. o6 ^$ G
declare @page intset @page = 5  // You may set any value here.SELECT q.qTitle,q.qDescription,q.qCreatedOn,u.uCode,u.uFullname,qcat.qcatTitle,q.qId,q.qStatus FROM tblQuestion AS q INNER JOIN tblUser AS u ON q.uId = u.uId INNER JOIN tblQuestionCategory AS qcat ON q.qcatId = qcat.qcatId WHERE (q.qStatus = 1) ORDER BY q.qCreatedOn DESC OFFSET (@page*10) ROWSFETCH NEXT 10 ROWS ONLY
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则