Вставка столбцов с Postgresql по идентификатору - PullRequest
0 голосов
/ 18 апреля 2020

Я работаю с этой базой данных mov ie, и мне нужно вставить столбец "director_id" в таблицу mov ie. Вот с чем я имею дело:

enter image description here

Над таблицей directors.

Ниже movie Таблица. Как вы можете видеть, у меня есть Director_id и идентификатор mov ie.

enter image description here

Это то место, куда мне нужно вставить Director_id. Но мне нужно сопоставить каждого директора с его соответствующим mov ie (используя идентификатор). Это должно быть очень просто, но, поскольку я новичок в базах данных, я не могу этого сделать. Я искал везде, но я не мог решить это. Заранее спасибо за помощь!

1 Ответ

1 голос
/ 18 апреля 2020

Я думаю, что вы ищете JOIN.

Например:

select
  m.id,
  m.title,
  d.director_id
from movie m
join directors d on d.movie_id = m.id

РЕДАКТИРОВАТЬ: Добавление столбца избыточности "Director_id"

Если вы хотите добавить столбец director_id навсегда, вам нужно сначала добавить столбец (пустой), а затем обновить его значение. Например:

alter table movie add column director_id int;

А затем:

update movie m
set director_id = d.director_id
from directors d
where d.movie_id = m.id

Помните, что оператор UPDATE выполняется в данный момент и не будет обновлять данные в будущем, если только ты запускаешь это снова. Поэтому столбец director_id может устареть, имея информацию со времени, когда было выполнено ОБНОВЛЕНИЕ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...