Вставка из другой таблицы с соответствующими парами значений

#sql #postgresql

#sql #postgresql

Вопрос:

      Table_One                                            Table_Two

ID ----- | ----- P_Name                              ID ----- | ----- P_Name
1X2      |  Name1                                             | Name1
1X3      |  Name2                                             | Name2
  

Я хочу вставить идентификатор в Table_Two, где идентификатор совпадает с Table_One. Например, идентификатор для Name2 в Table_2 должен быть 1X3

Это то, что у меня есть до сих пор, и я получаю ошибки. Я довольно новичок в SQL. Будь Нежен.

О, я тоже использую PostgreSQL.

 insert into table_two (ID)
select "ID" from Table_One
where Table_One.P_Name = Table_Two.P_name
  

Ответ №1:

Вы хотите обновить таблицу, а не вставить. Update изменяет значения в столбцах. Insert добавляет новые строки. Итак:

 update table_two t2
    set id = t1.id
    from table_one t1
    where t1.name = t2.name;
  

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

1. Вау, спасибо вам за это. Теперь это имеет смысл. Высоко ценится.