Красное смещение: оптимизируйте анализ JSON для каждой строки

#amazon-redshift

Вопрос:

У меня есть данные для красного смещения:

 column id: 210396
column inputs: [{"desc": "What is your credit card number? I promise to keep it real secure like.", "name": "cc", "type": "string", "regex": "\d ", "max_length": 16, "min_length": 1}, {"max": "666", "min": "4", "desc": "How tall are you?", "name": "height", "type": "int"}, {"desc": "A nurse went to scribble a note when she realized she was trying to write with a rectal thermometer. Damn it, she said, some asshole has my pen.", "name": "likescake", "type": "bool"}]
 

Мне нужно проанализировать JSON и проанализировать каждый элемент «имя», «значения» в каждой строке.

Я создаю этот запрос, чтобы выполнить эту операцию:

 CREATE TEMP TABLE test_all_values AS 
(
SELECT c.*, d.desc, d.name, d.values 
FROM (
    SELECT id, created, JSON_PARSE(inputs) AS inputs_super
    FROM appen_collect.staticprompts
    WHERE prompttype = 'input'
    ) AS c, 
c.inputs_super AS d
ORDER BY created DESC                                                       
LIMIT 10  
);      
                                                       
                                                       
SELECT DISTINCT c.id, c.desc, c.name, o AS value FROM test_all_values c, c.values AS o; 
 

С помощью временной таблицы я получил данные в этом формате:

 column id: 210396
column created: 2021-09-01 05:42:15.80726
column inputs_super: [{"desc":" Please check the pledge box, Pledge content","name":"pledge","type":"dropdown","values":["Agree","Disagree"]}]
column desc: " Please check the pledge box, Pledge content"
column name: "pledge"
column values: ["Agree","Disagree"]
 

Но мне нужно проанализировать список «значений» при красном смещении и создать строку для каждого элемента списка.

Пример:

 column id: 210396
column created: 2021-09-01 05:42:15.80726
column inputs_super: [{"desc":" Please check the pledge box, Pledge content","name":"pledge","type":"dropdown","values":["Agree","Disagree"]}]
column desc: " Please check the pledge box, Pledge content"
column name: "pledge"
column values: ["Agree"]

column id: 210396
column created: 2021-09-01 05:42:15.80726
column inputs_super: [{"desc":" Please check the pledge box, Pledge content","name":"pledge","type":"dropdown","values":["Agree","Disagree"]}]
column desc: " Please check the pledge box, Pledge content"
column name: "pledge"
column values: ["Disagree"]
 

Как вы видите, я использую временную таблицу для анализа [«Согласен»,»Не согласен»] (из «значений») для каждой строки для каждого элемента из списка (этот список супертипный).

Как я могу оптимизировать свой запрос без создания временной таблицы?

Спасибо большое за совет!