zoukankan      html  css  js  c++  java
  • TSQL查询给定记录的相关数据

         具体环境为SQL 2000 ,在一内容表中给定一条记录,查寻编号大于这里记录的的数据,具体代码如下

    Create    Proc CMST_QueryInterrelated
    @ID int,   ----给定的记录的主键
    @Num int  ---需要条数
    As
    Declare @RNum int
    Declare @SQL nvarchar(2000)
    Set @SQL=''
    Set @RNum=0
    Select @RNum=Count(ID) From [CMST] Where [ID]> @ID
    If(@RNum-@Num) > 0
      Begin
        Set @SQL='Select Top '+ cast(@Num as nvarchar) +' ID,Title,AddTime From [CMST] Where [ID]>' + cast(@Id as nvarchar)
      End
    Else
      Begin
        Set @SQL='Select Top '+ cast(@Num as nvarchar) +' ID,Title,AddTime From [CMST] Where [ID]>' + cast(@Id as nvarchar)
                + 'Union Select Top ' + cast((@Num-@RNum) as nvarchar) +' ID,Title From [CMST] Where [ID] < ' + cast(@Id as nvarchar)   End

    Exec (@SQL)

    上面的功能是,返回比给定ID 大的 @Num 条数据,如果 比ID大的记录不足@Num条,那么少的部分由ID比@ID小的记录获取(形成一个环型),另外你可以在 where 里加入其他条件比方同一分类等等..

  • 相关阅读:
    几数之和的题目
    File类
    递归
    Collections
    Map集合
    泛型
    类型通配符
    可变参数
    异常
    Collection集合
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1058798.html
Copyright © 2011-2022 走看看