sharp97
@sharp97
не фонтан но брызги есть

Как выбрать определенный ключ в JSON из MySql?

Доброго времени суток дамы и господа, в общем вопрос такой - у меня есть таблица в бд в которой хранится JSON , в этом json-е есть ключик который мне нужно вытянуть - это ключ "result_color" который находится в объекте , этот объект в массиве под ключом "exodus" вот такая вот матрёшка получается) собственно подскажите пожалуйста как сделать выборку такого рода: ГДЕ "result" = "какое-то значение, например IT разработка" получить из этого же объекта "result_color" ниже прикреплю сам json-чик и то как это выглядит в БД
{
  "tests": [{
            "question": "Сколько времени вы проводите за пк ?",
            "answers": ["2 часа", "4 часа", "Более 8 часов"]
        },
            {
            "question": "Сколько времени вы проводите за пк ?",
            "answers": ["2 часа", "4 часа", "Более 8 часов"]
        }
        
    ],
     "exodus": [{
            "result_combination": ["1", "2"],
            "result_color": "black",
            "result": "IT разработка",
            "result_description": "<p class='special'>Кто такой IT-специалист</p><br>IT-специалист — это широкое определение людей, чья работа связана с информационными технологиями (ИТ). Это не только те, кто пишут код, настраивают компьютеры и помогают разобраться, когда программа выдаёт ошибку и не реагирует на кнопку Esc. Это также специалисты, которые участвуют во всех этапах разработки той же программы и её продвижения.Например, компания хочет разработать приложение для доставки еды. Для этого ей понадобится команда ИТ-специалистов:<p>● <a href='vk.com'>аналитики</a>, менеджеры продуктов, менеджеры проектов — для исследования рынка, управления сроками и бюджетами проекта, определения функционала продукта;</p><p>● разработчики, дизайнеры, тестировщики, UX-редакторы — для создания, наполнения и тестирования продукта, а также исправления ошибок.Это упрощённый состав команды IT-продукта. В IT множество профессий, в которых нужны и гуманитарии, и технари. При этом IT не существует в вакууме. Специалисты по IT могут работать в разных сферах — медицина, банковское дело, транспортная безопасность, технологии, образование и так далее.</p><p>Это интересная и востребованная работа. Специалисты IT-сферы работают над множеством проектов, при этом в России дефицит кадров: уже в 2021 году стране ежегодно не хватало до миллиона человек. И это несмотря на то, что в прошлом году в стране уже было примерно 1,5 миллиона айтишников.</p><div class='median_price'>Медианная зарплата IT-специалистов — <span class='mm'>89000 000</span>руб</div>"
        },
            {
            "result_combination": ["1", "3"],
            "result_color": "black",
            "result": "Менджмент",
            "result_description": "<p class='special'>Кто такой IT-специалист</p><br>IT-специалист — это широкое определение людей, чья работа связана с информационными технологиями (ИТ). Это не только те, кто пишут код, настраивают компьютеры и помогают разобраться, когда программа выдаёт ошибку и не реагирует на кнопку Esc. Это также специалисты, которые участвуют во всех этапах разработки той же программы и её продвижения.Например, компания хочет разработать приложение для доставки еды. Для этого ей понадобится команда ИТ-специалистов:<p>● <a href='vk.com'>аналитики</a>, менеджеры продуктов, менеджеры проектов — для исследования рынка, управления сроками и бюджетами проекта, определения функционала продукта;</p><p>● разработчики, дизайнеры, тестировщики, UX-редакторы — для создания, наполнения и тестирования продукта, а также исправления ошибок.Это упрощённый состав команды IT-продукта. В IT множество профессий, в которых нужны и гуманитарии, и технари. При этом IT не существует в вакууме. Специалисты по IT могут работать в разных сферах — медицина, банковское дело, транспортная безопасность, технологии, образование и так далее.</p><p>Это интересная и востребованная работа. Специалисты IT-сферы работают над множеством проектов, при этом в России дефицит кадров: уже в 2021 году стране ежегодно не хватало до миллиона человек. И это несмотря на то, что в прошлом году в стране уже было примерно 1,5 миллиона айтишников.</p><div class='median_price'>Медианная зарплата IT-специалистов — <span class='mm'>8920 000</span>руб</div>"
        }
        
    ]
}

63f17d302f72c675371487.png
  • Вопрос задан
  • 261 просмотр
Решения вопроса 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
Можно использовать JSON_TABLE
SELECT j.result_color
FROM structure_test t
JOIN JSON_TABLE(t.structure, 
        '$.exodus[*]'
        COLUMNS(result_combination varchar(20) PATH '$.result_combination',
                result_color varchar(20) PATH '$.result_color',
                result VARCHAR(20) PATH '$.result',
                result_description VARCHAR(255) PATH '$.result_description')) j                    
WHERE j.result = 'IT разработка';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы