ON public.j_events USING gin (doc jsonb_path_ops)
Не могу сообразить, как в условии Where красиво использовать конструкцию типа:
ev.doc @? '$.mkb_code[*] ? (@=="O98.5"||@=="U07.1"||@=="U07.2"||@=="U04.9"||@=="B34.2")'
Хотелось бы что то похожее на схему:
ev.doc @? '$.mkb_code[*] ? (@ IN Array(["O98.5","U07.1","U07.2","U04.9","B34.2"]))'
т е запрос должен быть индексированный, потому что полей таких много...
Есть предположение, что в условиях фильтра можно использовать сравнение только со скалярными значениями, но такого утверждения я не нашел в документации.
заранее спасибо за совет)
я вообще использую json, за что периодически здесь огребаю, но мне кажется в вашем случае когда сам запрос вам показывает как все плохо. json-больше за хранение, а не "давайте все положим в json и будем делать аналитику".
у меня предположение попробовать параметр с массивом '["'o98.7","U07.1"]' как переменная $param и сделать сравнение @==$param[*]
Обсуждают сегодня