SQL BOM

本文介绍了一个使用SQL实现的物料清单(BOM)结构查询方法。通过递归查询的方式,从指定的父节点开始展开所有子节点,直至最底层。示例中以'BB'节点为起点,展示了如何获取其所有下级节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BOM展开(按任一父结点展开到最底层)
以下写一个简单的,视具体要求稍做修改即可。
create table 表(levelid int,levelname char(2),parent int)
insertselect 1, 'AA' , 0
union all select 2 , 'BB' , 1
union all select 3 , 'CC' , 1
union all select 4 , 'DD' , 2
union all select 5 , 'EE' , 3
union all select 6 , 'FF', 5

create function bom (@name char(2))
returns @tb table (levelid int,levelname char(2),parent int)
as
begin
insert @tb select levelID,LevelName,parent fromwhere Levelname = @name
while @@rowcount > 0
insert @tb select levelID,LevelName,parent from
where parent in (select levelID from @tb)
and levelID not in (select levelID from @tb)
return
end

select * from dbo.bom('bb')
levelid levelname parent
----------- --------- -----------
2 BB 1
4 DD 2

(所影响的行数为
2 行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值