· 8 years ago · Jun 05, 2018, 07:54 PM
1select de.sequence + 1 as sequence from dataentry as de
2left outer join dataentry as de1 on de.sequence + 1 = de1.sequence
3where de1.sequence is null order by sequence asc;
4
5select (select isnull(max(val)+1,1) from mydata where val < md.val) as [from],
6 md.val - 1 as [to]
7 from mydata md
8 where md.val != 1 and not exists (
9 select 1 from mydata md2 where md2.val = md.val - 1)
10
11from to
12----------- -----------
136 6
148 8
1511 14
16
17SELECT #sequence.value
18FROM #sequence
19LEFT JOIN MyTable ON #sequence.value = MyTable.value
20WHERE MyTable.value IS NULL
21
22declare @min int
23declare @max int
24
25select @min = min(seq_field), @max = max(seq_field) from [Table]
26
27create table #tmp (Field_No int)
28while @min <= @max
29begin
30 if not exists (select * from [Table] where seq_field = @min)
31 insert into #tmp (seq_field) values (@min)
32 set @min = @min + 1
33end
34select * from #tmp
35drop table #tmp
36
37SELECT *
38FROM (SELECT row_number() over(order by number) as N from master..spt_values) t
39where N not in (select 1 as sequence union
40 select 2 union
41 select 3 union
42 select 4 union
43 select 5 union
44 select 7 union
45 select 10 union
46 select 15
47 )
48
49SELECT *
50FROM (SELECT row_number() over(order by number) as N from master..spt_values) t
51where N not in (select 1 as sequence union
52 select 2 union
53 select 3 union
54 select 4 union
55 select 5 union
56 select 7 union
57 select 10 union
58 select 15
59 )