Оператор динамического регистра в postgres

У меня два массива. Оба массива вычисляются из функций, поэтому оба массива являются динамическими, но длина обоих массивов будет одинаковой.

a1= ARRAY[1,2,3];
a2= ARRAY[10,20,30];

Теперь я хочу обновить свою таблицу примерно так

UPDATE TABLE SET data= CASE 
     data=a1[1] then a2[1]
     data=a1[2] then a2[2]
     data=a1[3] then a2[3]END
where id=1;

Я попытался добавить цикл внутри CASE, но он не работает.

Пожалуйста, редактировать свой вопрос и добавьте Пример данных и ожидаемый результат на основе этих данных. Форматированный текст пожалуйста, нет скриншотов. (редактировать ваш вопрос - сделайте нет почтовый индекс или доп информацию в комментариях)

a_horse_with_no_name 30.05.2018 14:30

Дело выражение.

jarlh 30.05.2018 14:44
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
2
187
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать array_position, чтобы найти соответствующий индекс в массиве 1, и запросить массив 2, используя этот индекс:

UPDATE TABLE 
SET data = a2[array_position(a1, data)]
WHERE id = 1;

http://rextester.com/CBJ37276

Другие вопросы по теме