Поиск в JSONB по условию
Есть три условные таблицы.
Таблица cargos
| cargo_id | storage_to_id |
|---|
Таблица storages
| storage_id | title |
|---|
Таблица routes
| route_id | city_list |
|---|
В таблице storages тип данных title - varchar(32). В таблице routes тип данных city_list - jsonb.
У меня есть cargo_id, по этому id мне необходимо найти все те routes, которые подходят этому грузу.
К примеру, у нас есть запись в таблице routes:
| route_id | city_list |
|---|---|
| 1 | ["Златоуст", "Куса"] |
| 2 | ["Чебаркуль", "Уйское"] |
В таблице складов есть соответствующие записи:
| storage_id | title |
|---|---|
| 1 | Златоуст |
| 2 | Куса |
| 3 | Чебаркуль |
| 4 | Уйское |
И груз у нас такой:
| cargo_id | storage_to_id |
|---|---|
| 1 | 2 |
В результате нам подходит route с id 1
Как должен выглядеть такой запрос?