Eu tenho uma tabela de origem, a qual apresenta, como abaixo:
público.origem
Id | part_no | category
1 | 01270-4 | Landscape
2 | 01102-3 | Sports
Então, eu tenho a tabela de destino com jsonb coluna (combinações) , que lista como abaixo;
público.alvo
Id | part_no | combinations
7 | 01270-4 | {"subject":""}
8 | 01102-3 | {"subject":""}
Meu problema é que - como eu posso atualizar a tabela de destino com jsonb coluna (combinações) com os valores provenientes de fonte de tabela usando o part_no coluna?
De saída, como:
Id | part_no | combinations
7 | 01270-4 | {"subject":"Landscape"}
8 | 01102-3 | {"subject":"Sports"}
Eu tentei seguir, mas dando erro:
UPDATE public.target t
SET combinations = jsonb_set(combinations,'{subject}','s.category',false)
FROM public.source s
WHERE s.part_no = t.part_no;
ERRO: erro de sintaxe de entrada para o tipo json LINHA 2: CONJUNTO de combinações = jsonb_set(combinações, {assunto}', 's.categor... ^ DETALHE: o Símbolo "s" é inválido. CONTEXTO: dados JSON, linha 1: s... Estado de SQL: 22P02 Caracteres: 77