PostgreSql. Сложение массивов
Данный материал предоставлен сайтом
PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Складываем значения двух разных массивов с помощью select запроса в PostgreSql базе данных.
Представим ситуацию, что у вас есть по колонке с типом array из 2х разных таблиц. И вам нужно сложить каждый элемент массива из одной таблицы с каждым противоположным элементом массива из другой таблицы в базе данных Postgres.
Разберем это на примере 2х массивов (
Сложить массивы можно благодаря использованию вложенных запросов.
Внутри вложенного запроса мы берем данные массива и конвертируем в строку при помощь функции unnest. Далее устанавливаем синонимы на конвертированне значения.
В главном select мы выполним сложение значений 2х элементов, на которые мы установили синонимы и выполним преобразование полученных днных в массив с помощью функции array_agg.
Пример:
select array_agg(a+b) from (select unnest('{1,7,5,2}'::int[]) as a, unnest('{2,3,5,7}'::int[]) as b) x
Результат:
{3,10,10,9}
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.