首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

问个简略的SQL查询

2011-12-26 
问个简单的SQL查询 数据表dtID名类别idnameclass1ac12bc13cc34dc456c17jc210kc1......网页里面想做两个连

问个简单的SQL查询

数据表dt
    ID           名             类别

    id           name         class
    1               a               c1
    2               b               c1
    3               c               c3
    4               d               c4
    5               6               c1
    7               j               c2
    10             k               c1
    .               .               ....
网页里面   想做两个连接   同类别的   一个是   [上一篇文章]   一个是   [下一篇文章]
例如:
  查询某一ID的时候
    select   *     from   dt   where   id=2   and   class=c1
    同时想得到

    下一个   同类别C1的id     上一个   同类别C1的id  

SQL语句如何写?分几步写?如何实现?高手指条明路吧。迷惘中。。。

[解决办法]
select top 1 * from dt where class = 'c1 ' and id > 2 下一个
select top 1 * from dt where class = 'c1 ' and id < 2 desc 上一个
[解决办法]
另外……如果你只是要做个上一篇下一篇的连接,不需要select *,你需要的只是一个id。

select top 1 id from...就可以了,这样效率高。
[解决办法]
select top 1 a.id from dt a,(select id from dt where id=2 and class= 'c1 ') b
where a.class= 'c1 'and a.id <b.id
order by a.id desc
--上一个类别id
select top 1 a.id from dt a,(select id from dt where id=2 and class= 'c1 ') b
where a.class= 'c1 'and a.id> b.id
order by a.id asc
--下一个类别id
--常量2和 'c1 '可以在程序中用变量代替

热点排行