Am o sursa de masă, care enumeră ca mai jos:
publice.sursa
Id | part_no | category
1 | 01270-4 | Landscape
2 | 01102-3 | Sports
Apoi, am tabel țintă cu jsonb coloana (combinații) , care lista ca mai jos;
publice.țintă
Id | part_no | combinations
7 | 01270-4 | {"subject":""}
8 | 01102-3 | {"subject":""}
Problema mea este - cum pot actualiza tabelul de țintă cu jsonb coloana (combinații) cu valorile vine de la sursa de masă folosind part_no coloana?
De ieșire, cum ar fi:
Id | part_no | combinations
7 | 01270-4 | {"subject":"Landscape"}
8 | 01102-3 | {"subject":"Sports"}
Am încercat de mai jos, dar da eroare:
UPDATE public.target t
SET combinations = jsonb_set(combinations,'{subject}','s.category',false)
FROM public.source s
WHERE s.part_no = t.part_no;
EROARE: invalid input sintaxă de tip json LINIA 2: SET de combinații = jsonb_set(combinații,'{subject}', 's.categor... ^ DETALII: Token "s" este invalid. CONTEXT: date JSON, linia 1: s... SQL stat: 22P02 Caracter: 77