所以我有三個表:公司,地址和company_address。PostgreSQL - 從相關表複製列
由於優化原因,我需要將city
列從addresses
表複製到companies
表。公司和地址之間的關係是多對一的(因爲許多公司可以佔用相同的地址)。它們通過company_address表連接,其中包括address_id
和company_id
列。
我發現,沒有中間表此解決方案案例:How to copy one column of a table into another table's column in PostgreSQL comparing same ID
試圖修改查詢我想出了:
UPDATE company SET company.city=foo.city
FROM (
SELECT company_address.company_id, company_address.address_id, address.city
FROM address LEFT JOIN company_address
ON address.id=company_address.address_id
) foo
WHERE company.id=foo.company_id;
,但它給錯誤:
ERROR: column "company" of relation "company" does not exist
我不能圖瞭解正在發生的事情。我會很感激任何想法。
'UPDATE公司成立company.city = foo.city' == >>'更新公司SET城市= foo.city'(你不需要子查詢) – joop