@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}},
]
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 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...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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