Мне нужно изменить таблицу в моей БД. Я хочу добавить столбец с типом integer[]
и добавить значения в этот столбец непосредственно из другого запроса, результатом которого будет 4 идентификационных номера.
Что я получил на данный момент:
ALTER TABLE resourcen add rs_insurance integer[]
update resourcen set rs_insurance = (select li_id from li_versicherungsart)
Вторая команда возвращает следующую ошибку:
ERROR: column "rs_insurance" is of type integer[] but expression is of type integer
SQL state: 42804
Hint: You will need to rewrite or cast the expression.
Character: 37
Как я могу преобразовать все найденные идентификаторы в массив int[]?
select array_agg(li_id) ...
, но вам определенно нужен какой-то сопутствующий подзапрос. Но трудно сказать без более подробной информации об этих двух таблицах и о том, как они соотносятся друг с другом. - person a_horse_with_no_name   schedule 23.11.2016