MSSQL 数据库某表具有多层级的自相关合构勾引 处男,第 2 个字段父节点 ID 是指向本表的第 1 个字段节点 ID 的外键,第 3 个字段是区域。
狠狠射当今要找出上司层数大于即是 2 的那些节点的层级,以及最高层节点的区域,比如第 1 笔纪录的上司有 3 层,辞别是 5-11-15,最高层是 15;第 2 笔纪录的上司有 2 层,辞别是 6-12,最高层是 12。
SQL解法:
唯有找到各节点递归援用的统统层级,就不错肤浅地过滤出效果,但SQL莫得平直不错用的函数,要用结构复杂的递归子查询+自相关join来齐全勾引 处男,代码冗长难解。
SPL提供了平直可用的函数,不错获取节点递归援用的统统层级。
A2:缔造援用关系,将parent_product_identifier替换成外键指向的本表的纪录。
A3:新增缠绵列,用prior函数缠绵出本节点递归援用的统统层级,这些层级的层数以及临了一个层级的区域。
A4:选出递归援用的统统层级的层数大于即是2的节点。
A5:生成目的效果集。
SPL已开源免费勾引 处男,接待前去乾学院了解更多!
热点资讯
相关资讯