BOM算法问题

wofan wofan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
ID parentid level level bomid
----------------------------------------------------
487 0 1 + 275
488 487 2 ++ 41
489 488 3 +++ 2098
490 489 4 ++++ 824
491 490 5 +++++ 825
492 491 6 ++++++ 784
493 487 2 ++ 41
494 487 2 ++ 41
495 487 2 ++ 41
496 487 2 ++ 41
497 496 3 +++ 2099
498 497 4 ++++ 823
499 498 5 +++++ 827
500 499 6 ++++++ 785
501 0 1 + 275
502 0 1 + 275

根据level将ID填入parentid中,以上是已经填好的
我写了一个只能填一部分id 493-496无法算了

update hzkf_xx set parentid=levelno-1
declare @id nvarchar(20)
declare @parentid nvarchar(20)
declare @levelno int
declare @cid int
declare @level1 int
declare @tlevel int
declare @tparentid int

DECLARE BOM CURSOR FOR
select ID,ParentID,levelno
from hzkf_xx
open BOM
FETCH NEXT FROM BOM
into @id,@parentid,@levelno

WHILE @@FETCH_STATUS = 0
BEGIN

if (@levelno=1)
begin
set @tparentid=@parentid
set @tlevel=@id
set @cid=@id
set @level1=@levelno
--print @id
end
if (@levelno>1)
begin
if (@levelno>@level1)
begin
update hzkf_xx set parentid=@cid where id=@id
set @cid=@id
set @level1=@levelno
end

end
if (@levelno<=@level1)
begin
set @cid=@id
set @level1=@levelno
end


FETCH NEXT FROM BOM
into @id,@parentid,@levelno
END

CLOSE BOM
DEALLOCATE BOM
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
wofan
疑难问题 22,298 成员 121,727 内容