как скопировать столбец с другим столбцом, связанным

#sql #postgresql

Вопрос:

У меня есть две таблицы в моей базе данных postgresql, как показано ниже.

 [Table A] [Table B] Name no Name no ------ ------ ------ ------ 1. Adam 1 1. Candy null 2. Bob 2 2. Evan null  3. Candy 3 3. David null 4. David 4 4. Bob null 5. Evan 5 5. Adam null  

[Имя таблицы B] имеет свой внешний ключ, связанный с [Именем таблицы A].
[Таблица B нет] только что создана командой alter table.
Что я хочу здесь, так это заполнить столбец [Таблица B нет] в соответствии с [Таблица A нет].

таким образом, результат должен быть ниже.

 [Table B] no ------ 3 5 4 2 1  

Есть ли какой-нибудь хороший способ добиться этого с помощью SQL?

Комментарии:

1. Покажите нам определения таблиц.

2. Какова цель новой колонки «нет»? (Вы не должны публиковать копии данных.)

Ответ №1:

 UPDATE "Table B" AS b SET no = a.no FROM "Table A" WHERE b.name = a.name AND b.no IS NULL  

Ответ №2:

Почему нет JOIN ?

 SELECT b.no FROM [Table A] as a INNER JOIN [Table B] as b  ON a.Name=b.Name