码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 递归拼接字段

时间:2020-06-04 19:35:31      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:orb   span   row   beginedit   name   format   level   class   orm   

效果

技术图片

 

sql

SELECT LISTAGG(T.NAME,  / ) WITHIN GROUP(ORDER BY LEVEL DESC) AS RESULT
  FROM S_WORK_RESOURSE T
 START WITH T.WORK_RESOURCE_NO = 323
CONNECT BY PRIOR T.PARENT_WORK_RESOURCE_NO = T.WORK_RESOURCE_NO
       and T.PARENT_WORK_RESOURCE_NO is not null

后台应用

                string GetLevelName_2 = @"SELECT LISTAGG(T.AREA_NAME, ‘ / ‘) WITHIN GROUP(ORDER BY LEVEL DESC) AS RESULT
  FROM PRODUCE_EQUIPMENT_AREA T
 START WITH T.ID = {0}
CONNECT BY PRIOR T.PARENT = T.ID
       and T.PARENT is not null";
                foreach (DataRow dr in v.Dt.Rows)
                {
                    if (StringUtil.isNotNullOrBlank(dr["EI_CLS"]))
                    {
                        dt = DbUtil.QueryDT(string.Format(GetLevelName_1, dr["EI_CLS"]));
                        if (dt != null)
                        {
                            dr.BeginEdit();
                            dr["EI_CLS2"] = dt.Rows[0]["RESULT"].ToString();
                            dr.EndEdit();
                        }
                    }
                }

 

Oracle 递归拼接字段

标签:orb   span   row   beginedit   name   format   level   class   orm   

原文地址:https://www.cnblogs.com/chenyanbin/p/13045502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!