Tengo una tabla de origen, que muestra como en la figura siguiente:
público.fuente
Id | part_no | category
1 | 01270-4 | Landscape
2 | 01102-3 | Sports
Entonces, he tabla de destino, con jsonb columna (combinaciones) , que lista como la siguiente;
público.objetivo
Id | part_no | combinations
7 | 01270-4 | {"subject":""}
8 | 01102-3 | {"subject":""}
Mi problema es - ¿cómo puedo actualizar la tabla de destino, con jsonb columna (combinaciones) con los valores de la tabla de origen utilizando el part_no columna?
De salida como:
Id | part_no | combinations
7 | 01270-4 | {"subject":"Landscape"}
8 | 01102-3 | {"subject":"Sports"}
Traté de abajo pero dando error:
UPDATE public.target t
SET combinations = jsonb_set(combinations,'{subject}','s.category',false)
FROM public.source s
WHERE s.part_no = t.part_no;
ERROR: invalid input sintaxis de tipo json LÍNEA 2: CONJUNTO de combinaciones = jsonb_set(combinaciones,'{asunto}', 's.categor... ^ DETALLE: Token "s" no es válido. CONTEXTO: datos JSON, línea 1: s... SQL estado: 22P02 Carácter: 77