J'ai une table source, qui liste comme ci-dessous:
public.source
Id | part_no | category
1 | 01270-4 | Landscape
2 | 01102-3 | Sports
Puis, j'ai de la table cible avec jsonb colonne (combinaisons) , qui liste comme ci-dessous;
public.cible
Id | part_no | combinations
7 | 01270-4 | {"subject":""}
8 | 01102-3 | {"subject":""}
Mon problème est comment je peux mettre à jour la table cible avec jsonb colonne (combinaisons) avec les valeurs provenant de la source de la table à l'aide de la part_no de la colonne?
Sortie comme:
Id | part_no | combinations
7 | 01270-4 | {"subject":"Landscape"}
8 | 01102-3 | {"subject":"Sports"}
J'ai essayé ci-dessous, mais en lui donnant d'erreur:
UPDATE public.target t
SET combinations = jsonb_set(combinations,'{subject}','s.category',false)
FROM public.source s
WHERE s.part_no = t.part_no;
ERREUR: invalid input syntaxe de type json LIGNE 2: DÉFINIR les combinaisons = jsonb_set(combinaisons,'{objet}', 's.categor... ^ DÉTAIL: Jeton "s" n'est pas valide. CONTEXTE: les données JSON, ligne 1: s... État SQL: 22P02 Caractère: 77