Как обновить конкретную строку определенного столбца, чтобы отразить значения в другой таблице через PostgreSQL? - PullRequest
1 голос
/ 12 июня 2019

У меня есть две таблицы с некоторыми столбцами:

  1. пункты
    1. item_id
      1. 9ef3b1e2-b0d3-480a-ba60-3616712d68f1
      2. 11111111-b0d3-480a-ba60-3616712d68f1
    2. item_data_id
      1. fd55b8c5-ebf9-5e6d-8d73-8b63111d5196
      2. 22222222-ebf9-5e6d-8d73-8b63111d5196
  2. item_data
    1. item_data_id
      1. 1028 * нуль *
      2. пустой
    2. item_id
      1. 9ef3b1e2-b0d3-480a-ba60-3616712d68f1
      2. 11111111-b0d3-480a-ba60-3616712d68f1

Таблица 1 уже содержит значения для item_id, а таблица 2 уже содержит значения для item_data_id и item_id, заполненные уникальными идентификаторами (где значения item_id для обоих уже совпадают). Как мне обновить items.item_data_id (таблица 1), чтобы отразить значения, уже присутствующие в item_data.item_data_id (таблица 2), без обновления каждой строки в столбце таблицы 2?

1 Ответ

1 голос
/ 12 июня 2019

Вы можете попробовать использовать объединение как

update items 
set item_data_id  = item_data.item_data_id 
from item_data 
where  items.item_id = item_data.item_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...