Oracle 递归拼接字段

Posted 陈彦斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 递归拼接字段相关的知识,希望对你有一定的参考价值。

效果

 

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 递归拼接字段的主要内容,如果未能解决你的问题,请参考以下文章

oracle 如何把一个变量中的字段拼接起来

oracle 字段拼接

oracle 将表中所有字段拼接成一个字符串给另一个表的一个字段

oracle把查询出的字段拼接在一起

Oracle Sql 如何将两个字段拼接到一块

oracle sql字段值拼接问题