Mám zdroj tabulka, která uvádí jako níže:
veřejnosti.zdroj
Id | part_no | category
1 | 01270-4 | Landscape
2 | 01102-3 | Sports
Pak jsem cílovou tabulku s jsonb sloupec (kombinací) , které seznamu jako níže;
veřejnosti.cíl
Id | part_no | combinations
7 | 01270-4 | {"subject":""}
8 | 01102-3 | {"subject":""}
Můj problém je - jak mohu aktualizovat cílové tabulky s jsonb sloupec (kombinace) s hodnotami pocházející ze zdrojové tabulky pomocí part_no sloupec?
Výstup, jako je:
Id | part_no | combinations
7 | 01270-4 | {"subject":"Landscape"}
8 | 01102-3 | {"subject":"Sports"}
Zkoušel jsem níže, ale dává chybová zpráva:
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 syntax pro typ json LINKA 2: NASTAVENÍ kombinace = jsonb_set(kombinace,'{předmět}', 's.kateg... ^ DETAIL: Token "s" je neplatný. KONTEXT: JSON dat, linka 1: s... SQL státu: 22P02 Charakter: 77