我有一个数据库表(Oracle 11g)的问卷反馈,包括多项选择,多个答案问题.Options列具有用户可以选择的每个值,Answers列具有他们选择的数值.
ID_NO OPTIONS ANSWERS
1001 Apple Pie|Banana-Split|Cream Tea 1|2
1002 Apple Pie|Banana-Split|Cream Tea 2|3
1003 Apple Pie|Banana-Split|Cream Tea 1|2|3
Run Code Online (Sandbox Code Playgroud)
我需要一个能够解码答案的查询,并将答案的文本版本作为单个字符串.
ID_NO ANSWERS ANSWER_DECODE
1001 1|2 Apple Pie|Banana-Split
1002 2|3 Banana-Split|Cream Tea
1003 1|2|3 Apple Pie|Banana-Split|Cream Tea
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用正则表达式来替换值并获得子串,但我无法找到一种方法来正确合并这两者.
WITH feedback AS (
SELECT 1001 id_no, 'Apple Pie|Banana-Split|Cream Tea' options, '1|2' answers FROM DUAL UNION
SELECT 1002 id_no, 'Apple Pie|Banana-Split|Cream Tea' options, '2|3' answers FROM DUAL UNION
SELECT 1003 id_no, 'Apple Pie|Banana-Split|Cream Tea' options, '1|2|3' answers FROM DUAL )
SELECT
id_no, …Run Code Online (Sandbox Code Playgroud)