У меня есть две таблицы: account_company и document_invoice. Таблица account_company имеет 2 столбца: company_id и company_name. Таблица document_invoice имеет те же столбцы: company_id и company_name. Что-то случилось и удалите все данные из названия компании-столбца из документа_invoice.Как скопировать данные между таблицами PostgreSQL
Как написать SQL-запрос для копирования данных из таблицы компаний компании в документ_invoice? Я использую UPDATE и SET, но я точно не знаю, как это сделать.
UPDATE document_invoice
SET company_name = (SELECT company_name FROM account_company)
WHERE document_id.company_name=document_id.account
Слегка OT, рассмотреть * не несут * название компании в таблице документа счета-фактуры, если вы считаете, что название компании может измениться, и вы хотите для определения стоимости названия компании с момента выставления счета. (Даже тогда вы могли бы подумать о временном управлении проблемой, но это может быть сверху.) Избыточное хранение данных повышает стоимость обновления и создает риск того, что они могут выпасть из синхронизации. Для этого нужны объединения. Не верьте FUD в том, что входы стоят дорого. – kgrittn
С агрегированием с kgrittn: Если у вас уже есть company_id в документе_invoice, нет необходимости хранить копию company_name в этой таблице. –