Есть некоторая таблица со столбцами A
и B
. Столбец A
содержит только numbers
(например: 100
, 200
, 300
и т. д.). B
столбец содержит JSON
значения, такие как:
{"First": "0", "Second": "1"}
Рядов много. Как обновить значения столбца B
JSON
значениями столбца A
с помощью SQL-запроса? Например, чтобы JSON
выглядел так:
{"First": "100", "Second": "1"}
{"First": "200", "Second": "1"}
{"First": "300", "Second": "1"}
Звучит странно. В общем, вы не должны дублировать данные в реляционной базе данных.
Но тем не менее это возможно:
update the_table
set b = jsonb_set(b, array['First'], to_jsonb(a), true);
Это изменит только существующие ключи First
. Если First
не существует, он будет создан.
Онлайн-пример: https://rextester.com/RGNO64902