我想在表中找到缺失的數字......表像這樣。如何在使用sqlserver的表中找到缺失的數字?
Sno Branch
1 ABC
2 ABC
3 ABC
5 ABC // 4th sno is missing
6 ABC
8 ABC // 7th sno is missing
10 ABC // 9th sno is missing
我發現失蹤SNO使用此查詢
ALTER proc [dbo].[K_RT_DCNoMissing]--1,50
as
begin
declare @id int
set @id = 0
declare @maxid int
--set @id = @fromvalue
select @maxid = (select count(*) dcno from K_RT_Dailyentryretail nolock)
create table #IDSeq
(
id int
)
while 0<@maxid--whatever you max is
begin
insert into #IDSeq values(@id)
set @id = @id + 1
set @maxid = @maxid - 1
-- print @maxid
end
select
s.id
from
#idseq s
left join K_RT_Dailyentryretail t on
s.id = t.dcno
where t.dcno is null order by s.id asc
drop table #IDSeq
end
我得到了把這樣的..
MissingNo's
4
7
9
現在我要顯示斯諾與分行名稱一樣。
MissingNo's Branch
4 ABC
7 ABC
9 ABC
我怎樣才能分行名稱...
Am getting output as
4 abc
4 cde
4 fgh
7 abc
7 cde
7 fgh
but what actually am expecting is
4 abc
7 cde
. ..
. ..
等
你將如何讓分公司的名稱,如果沒有關係 – niyou 2014-09-24 10:10:50
怎麼是你應該得到的,不存在連續的分支?順便說一句,你的帖子存儲過程不能工作,因爲內部選擇由評論行破壞。 – Paolo 2014-09-24 10:11:06
如果之間缺少數字,那麼alwasy GAP僅用於1位數?這會發生嗎?像1,2,3,6?在3個GAP在那裏但是下一個數字不是5個之後,它大於那個。這會發生嗎? – AK47 2014-09-24 10:14:31