Задать вопрос
@postgresdev

Как найти определенное значени в массиве массивов в Postgresql?

Нужно найти все sku у которых значение 735215.

Пример json который в колонке config:
"stockLevels":[
{"sku":"156320","stock":0,"deliveryTimescale":{"min":5,"max":5}},
{"sku":"156322","stock":0,"deliveryTimescale":{"min":1,"max":1}},
{"sku":"156323","stock":0,"deliveryTimescale":{"min":1,"max":1}},
{"sku":"156350","stock":0,"deliveryTimescale":{"min":5,"max":5}},
{"sku":"156351","stock":0,"deliveryTimescale":{"min":5,"max":5}},
]
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@kalter1808
select * from your_table, 
jsonb_to_recordset((select your_table.config)->'stockLevels') 
as t (sku int, stock int, deliveryTimescale jsonb) 
where sku = 735215;

Здесь на все случаи жизни функции json есть:
https://postgrespro.ru/docs/postgresql/11/function...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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