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.
有人可以知道這裏有什麼問題嗎?
它可以通過選擇不同的關鍵字來避免有沒有其他方法? –