как создать запрос выбора с помощью - PullRequest
0 голосов

Мне нужно обновить данные в избранном столбце:

CREATE TABLE IF NOT EXISTS client
(
    id text UNIQUE NOT NULL
        CONSTRAINT crm_id_pkey PRIMARY KEY,
    favorites jsonb default '{}'
);

значения выглядят так:

INSERT INTO client (id, favorites)
VALUES ('123',
        '{
          "111111": "2018-08-06 11:07:05.710000",
          "222222": "2019-08-06 11:07:05.710000",
          "333333": "2019-06-06 11:07:05.710000"
        }');

Я нахожу очень полезную страницу на github, есть несколько сценариев sql для слияния или обновления с учетом двух jsons. если вы хотите, вы можете проверить эту ссылку !

я пытаюсь сделать этот код:

    WITH data AS (
    SELECT json_merge(fav.favorites::json, '{"111111": "2000-00-00 11:07:05.710000","123123": "1999-00-00 11:07:05.710000"}'::json)::json
    FROM mobappb2c_profile.client_material as fav
    WHERE crm_id = '123')
    SELECT
        sku2date.key AS sku
    FROM data AS fav,
         to_jsonb(fav) as js,
         jsonb_each(js) AS sku2date
    order by sku2date.value desc;

, поэтому я хочу объединить некоторые json, и после объединения мне нужно выбрать все ключи, но когда я делаю это через секунду, выберите jsonb_each (... я получаю значение результата:

sku
----------
json_merge

как это возможно?

я обнаружил, что функция json_merge не вставляет данные таким образом, поэтому я запутался, и мне нужна помощь

...