2
我有一个表,其中两个字段ID,controlflag.It看起来像重复条目
Id CntrlFlag
121 SSSSSRNNNSSRSSNNR
122 SSSNNRRSSNNRSSSSS
123 RRSSSNNSSSSSSSSSSSSSSS
我必须得到以下形式输出(R的出现次数)
Id Flag
121 6,12,17
122 6,7,12
123 1,2
我试过Oracle查询(因为我从这个论坛上获得):
select mtr_id,listagg(str,',') within group (order by lvl) as flags from
(select mtr_id, instr(mtr_ctrl_flags,'R', 1, level) as str, level as lvl
from mer_trans_reject
connect by level <= regexp_count(mtr_ctrl_flags, 'R'))group by mtr_id;
它给出结果,但第二和第三发生(不是第一次)重复一个没有。的时代。 它看起来像
id Flag
123 6,12,12,12,12,17,17,17,17,17.
有人可以知道这里有什么问题吗?
它可以通过选择不同的关键字来避免有没有其他方法? –