CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

请教查询的问题

楼主liujingxiong()2006-06-03 09:23:50 在 .NET技术 / ASP.NET 提问

我用这个语句查询前10条记录“select   top   10   id,newtitle   from   NewTable1   order   by   id   desc”,不知道获得11-20条记录的语句该怎么写? 问题点数:20、回复次数:15Top

1 楼kssys()回复于 2006-06-03 09:31:36 得分 0

select   top   20   id,newtitle    
  from   NewTable1    
  WHERE   id+'/'+newtitle   NOT   IN   (select   top   10   id+'/'+newtitle   from   NewTable1   order   by   id   desc)  
  order   by   id   descTop

2 楼anthit()回复于 2006-06-03 09:33:44 得分 0

楼上正解,Top

3 楼liujingxiong()回复于 2006-06-03 09:57:38 得分 0

如果我需要带参数取出一个范围呢?比如n1-n2,n1=11   n2=20   或者   n1=3   n2=200Top

4 楼kssys()回复于 2006-06-03 10:10:57 得分 0

那么继续加条件即可。  
   
  SELECT   TOP   20   ID,NewTitle  
  FROM   NewTable1  
  WHERE   yourWhere   AND   ID+'/'+NewTitle   NOT   IN    
    (SELECT   TOP   10   ID+'/'+NewTitle   FROM   NewTable1   WHERE   yourWhere   ORDER   BY   ID   DESC)  
  ORDER   BY   ID   DESCTop

5 楼wang355()回复于 2006-06-03 10:17:26 得分 0

同意楼上Top

6 楼lshlfyf()回复于 2006-06-03 10:28:06 得分 0

不错,学习Top

7 楼liujingxiong()回复于 2006-06-03 11:42:17 得分 0

select   top   9   编号,类别,标题,日期   from   News   where   类别='最新公告'   and   编号   not   in   (select   top   7   编号   from   News   where   类别='最新公告'   order   by   编号   asc)   order   by   编号   asc  
   
  输出  
  8  
  9  
  10  
  11  
  12  
  13  
  14  
  15  
   
  不是应该只输出这个吗?  
  8  
  9  
  Top

8 楼liujingxiong()回复于 2006-06-03 11:44:57 得分 0

select   top   9   编号,类别,标题,日期   from   News   where   类别='最新公告'   and   编号+'/'+类别+'/'+标题+'/'+日期   not   in   (select   top   7   编号,类别,标题,日期   from   News   where   类别='最新公告'   order   by   编号   asc)   order   by   编号   asc  
   
  显示:  
  Exception   Details:   System.Data.OleDb.OleDbException:   所编写的一个子查询可在不在主查询的   FROM   子句中使用的   EXISTS   保留字的情况下返回多个字段。   修改子查询的   SELECT   语句以只要求返回一个字段。  
  Top

9 楼kssys()回复于 2006-06-03 11:55:53 得分 0

select   top   9   编号,类别,标题,日期   from   News   where   类别='最新公告'   and   编号+'/'+类别+'/'+标题+'/'+日期   not   in   (select   top   7   编号+'/'+类别+'/'+标题+'/'+日期   from   News   where   类别='最新公告'   order   by   编号   asc)   order   by   编号   ascTop

10 楼liujingxiong()回复于 2006-06-03 12:32:34 得分 0

select   top   9   编号,类别,标题,日期   from   News   where   类别='最新公告'   and   编号+'/'+类别+'/'+标题+'/'+日期   not   in   (select   top   7   编号+'/'+类别+'/'+标题+'/'+日期   from   News   where   类别='最新公告'   order   by   编号   asc)   order   by   编号   asc  
   
  输出:Exception   Details:   System.Data.OleDb.OleDbException:   标准表达式中数据类型不匹配。Top

11 楼liujingxiong()回复于 2006-06-03 12:33:53 得分 0

编号是自动编号的长整型,其它的都是文本。Top

12 楼kssys()回复于 2006-06-03 12:42:24 得分 0

select   top   9   编号,类别,标题,日期   from   News   where   类别='最新公告'   and   CAST(编号   AS   VarChar(15))+'/'+类别+'/'+标题+'/'+日期   not   in   (select   top   7   CAST(编号   AS   VarChar(15))+'/'+类别+'/'+标题+'/'+日期   from   News   where   类别='最新公告'   order   by   编号   asc)   order   by   编号   ascTop

13 楼liujingxiong()回复于 2006-06-03 12:45:28 得分 0

select   top   9   编号,类别,标题,日期   from   News   where   类别='最新公告'   and   CAST(编号   AS   VarChar(15))+'/'+类别+'/'+标题+'/'+日期   not   in   (select   top   7   CAST(编号   AS   VarChar(15))+'/'+类别+'/'+标题+'/'+日期   from   News   where   类别='最新公告'   order   by   编号   asc)   order   by   编号   asc  
   
  输出:Exception   Details:   System.Data.OleDb.OleDbException:   IErrorInfo.GetDescription   failed   with   E_FAIL(0x80004005).Top

14 楼kssys()回复于 2006-06-03 13:30:41 得分 20

做完事情了。  
   
  我用这个语句查询前10条记录“select   top   10   id,newtitle   from   NewTable1   order   by   id   desc”,不知道获得11-20条记录的语句该怎么写?  
   
  你的编号是维一的吗?如果是,这样写:  
  SELECT   TOP   10   ID,NewTitle  
  FROM   NewTable1  
  WHERE   id   NOT   IN   (SELECT   TOP   10   ID   FROM   NewTable1   ORDER   BY   ID   DESC)  
  ORDER   BY   ID   DESC  
   
  之前写成Top   20是错的。  
   
  另,你的消息中问列之间为什么要用'/'隔开,是为了安全考虑,如:  
  列A  列B  
  A1  B  
  A  1B  
   
  结果将是相同的。  
  Top

15 楼liujingxiong()回复于 2006-06-03 14:56:41 得分 0

谢谢kssys指点。Top

相关问题

关键词

得分解答快速导航

  • 帖主:liujingxiong
  • kssys

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo