小编Pet*_*ing的帖子

SQL Regex - 替换为另一个字段的子字符串

我有一个数据库表(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)

regex sql oracle regexp-substr regexp-replace

6
推荐指数
1
解决办法
357
查看次数

标签 统计

oracle ×1

regex ×1

regexp-replace ×1

regexp-substr ×1

sql ×1