У меня есть исходная таблица, в которой перечислены, как показано ниже:
общедоступный источник
Id | part_no | category
1 | 01270-4 | Landscape
2 | 01102-3 | Sports
Затем у меня есть целевая таблица со столбцом jsonb (комбинации), список которых выглядит следующим образом;
общественность.цель
Id | part_no | combinations
7 | 01270-4 | {"subject":""}
8 | 01102-3 | {"subject":""}
Моя проблема в том, как я могу обновить целевую таблицу с помощью столбца jsonb (комбинации) со значениями, поступающими из исходной таблицы, используя столбец part_no?
Вывод, как:
Id | part_no | combinations
7 | 01270-4 | {"subject":"Landscape"}
8 | 01102-3 | {"subject":"Sports"}
Я попытался ниже, но дал ошибку:
UPDATE public.target t
SET combinations = jsonb_set(combinations,'{subject}','s.category',false)
FROM public.source s
WHERE s.part_no = t.part_no;
ОШИБКА: неверный синтаксис ввода для типа json СТРОКА 2: НАБОР комбинаций = jsonb_set(комбинации,'{тема}', 's.категория... ^ деталь: Маркер "s" недействителен. КОНТЕКСТ: данные JSON, строка 1: s... Состояние SQL: 22P02 Характер: 77