с полем json {id, id, id} | {} | null ?
Ok Google json to table postgres А дальше уже как с таблицей работать.
Попробовал такой вариант не знаю на сколько он правильный SELECT "id_bti" AS "id", json(ST_Centroid(polygons)) AS "centroid", json(polygons) AS "coordinates" FROM "map"."district" INNER JOIN "map"."district_polygons" ON "map"."district"."id" = "map"."district_polygons"."district_id" INNER JOIN LATERAL (select UNNEST(item.areas) as id from debate.item) i ON i.id = map.district.id_bti
ты хочешь JOIN по JSON?
У меня получается не json а массив но по сути да
Нет, ты НЕ ХОЧЕШЬ JOIN по JSON!
Не надо так делать, говорю. Будет плохо
Какие есть варианты? И чем плохо?
Не будет работать, не построить индекс, будешь страдать...
jsonb вроде нормально интексируется в постгря
Работать будет, индекс построить можно, хоть иногда и костыль.
В таблице item нет поля id_bti ?
нет там есть поле массив с ld вот надо соеденить с id_bti
А можешь показать DDL этой таблицы?
Это же не твоя БД наверное, да? Не ты проектировал?
могу только так показать create table debate.item ( id serial not null constraint item_pkey primary key, areas integer[] );
ПОгоди, а где JSON ?
Просто id записи оно ни как не связано
integer[]
Я как раз и намекаю, что должно быть связано.
К сожалению нет единственная связь в areas там как раз {id, id, id} | {} | null вот надо соеденить с таблицей где id_bti
Так не может быть. Ну и я не понял, почему integer[] - это JSON - могу ошибаться, PG плохо знаю.
integer[] это массив значений хранится в таком виде {id, id, id}
Ребят есть варианты?
Я же написал что не json
Ну ок, а что за БД, есть ли документация на неё?
Ты в каком чате находишься, так же бд и называется
Обсуждают сегодня