그래서 회사, 주소 및 company_address라는 세 개의 테이블이 있습니다. 최적화 이유로PostgreSQL - 관련 테이블의 열 복사
나는 companies
테이블에 addresses
테이블에서 city
열을 복사해야합니다. 회사와 주소 간의 관계는 많은 기업이 동일한 주소를 사용할 수 있기 때문에 1 대 1입니다. 그들은 address_id
및 company_id
컬럼으로 구성된 company_address 테이블을 통해 연결됩니다.
나는 중간 테이블이없는 경우에이 솔루션을 발견 : 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 회사 SET의 company.city = foo.city' == >>' 업데이트 회사 SET city = foo.city' (하위 쿼리가 필요하지 않음) – joop