【问题标题】:Gap detection - MS Sql间隙检测 - MS Sql
【发布时间】:2017-05-29 12:02:08
【问题描述】:

我的Microsoft SQL 服务器中有两个表,它们的数据中都有序列号,看起来像这样(基本上一个序列号的末尾带有递增的 alpha,另一个只是数字):

表一

  • 1234567A
  • 1234568A
  • 1234569A

表二

  • 1234567
  • 1234568
  • 1234569

Microsoft SQL 服务器中是否有识别序列化数据间隙的功能?

示例:

如果有1234569 的序列号,而1234570 在数据集中不存在,我希望能够识别。

【问题讨论】:

    标签: sql sql-server sql-server-2008


    【解决方案1】:

    您可以将not exists 用于数字 值:

    select t2
    from table2 t2
    where not exists (select 1
                      from table2 tt2
                      where tt2.serial = t2.serial + 1
                     );
    

    这将始终返回表中的最后一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      相关资源
      最近更新 更多